码迷,mamicode.com
首页 >  
搜索关键字:算法-数据结构    ( 494个结果
算法与数据结构基础8:C++实现有向图邻接表存储
前面实现了链表和树,现在看看图。 链表是一对一的对应关系; 树是一对多的对应关系; 图是多对多的对应关系。 图一般有两种存储方式,邻接表和邻接矩阵。 先看邻接表。 邻接表就是将图中所有的点用一个数组存储起来,并将此作为一个链表的头, 链表中保存跟这个点相邻的点(边点),如果有权值,则在边点中增加一权值字段。 因此,有向图邻接表的空间复杂度为O(v+e),无向图加倍。...
分类:编程语言   时间:2014-12-06 12:52:27    阅读次数:235
算法与数据结构基础5:C++栈的简单实现
堆栈是基于队列的,只需要要稍微改一下就ok了,把代码贴在下面 // Stack.h #include #include #include using namespace std; class Stack { public: // *************************************************************************...
分类:编程语言   时间:2014-12-04 01:00:16    阅读次数:334
【算法数据结构Java实现】Java实现单链表
1.背景          单链表是最基本的数据结构,仔细看了很久终于搞明白了,差不每个部分,每个链都是node的一个对象。需要两个参数定位:一个是index,表示对象的方位。另一个是node的对象。2.代码node类public class Node { protected Node next; protected int data; public Node(int data){...
分类:编程语言   时间:2014-12-02 17:19:08    阅读次数:162
由数字式子生成对应的二叉树
/*由式子生成二叉树*/ //例如输入:1-2*3+4/(5+6)-7*8# #include #include ////////////////////////////////////////////////////////////////////////////////////////////////// //定义数据结构 #define MaxSize 50 typedef struct{ ...
分类:其他好文   时间:2014-11-30 21:37:23    阅读次数:122
【算法数据结构Java实现】欧几里得算法
1.背景           欧几里得算法是一个求最大因子的快速算法。如果m,n存在最大因子k,假设m=x*n+r,那么m和n可以整出k的话,r也肯定可以整除k           因为定理:如果M>N,则M mod N2.代码           package Algorithm_analysis; public class Euclid { public static void mai...
分类:编程语言   时间:2014-11-25 14:31:25    阅读次数:197
【算法数据结构Java实现】折半查找
1.背景       以一个题目为例,一个整数x是一组按大小顺序排列好的数列中的一个数,我们要找到x在数列中的索引位置。比如按从小到大排列的数列:-3,-2,0,4,5,7,12,64我们要找到数字7的位置,如果是线性查找,时间复杂度是O(n),如果用折半查找的话,时间复杂度是O(log(n)),因为每次折半,计算量少一半,所以取对数。2.代码package Algorithm_analysis;...
分类:编程语言   时间:2014-11-24 22:29:01    阅读次数:367
(连载)边喝咖啡边学Unity——第二章 预备知识体系
第二章 预备知识体系 ——本章涉及空间数学、解析几何、线性代数、计算机图形学、算法、数据结构等众多基础学科。同上一章相比,虽然枯燥,但是绝不能称为废话之章,即使粗略的看一遍,也比直接跳过来的好,详细地读完,会让读者以后的开发之路走的更加平坦。 并且本章的知识不仅仅对您的Unity游戏开发有帮助,对于大部分软件开发人员都是大有作用的。 作为传统3D游戏编程来讲,需要运用到的知识面非常之广,涉及到的学科特别之多。而通常讲编程的书籍,会弱化数学知识,讲数学的书籍,会弱化编程方面的知识。这就是我在第一章所提到的数学...
分类:编程语言   时间:2014-11-24 19:20:03    阅读次数:364
【算法数据结构Java实现】时间复杂度为O(n)的最大和序列
1.背景             最大序列和问题一直以来是一个比较经典的算法题,看到这个问题,有很多解题的办法。今天看到了一种时间复杂度只为O(n)的解题算法,在这里记录下。             思路很简单,比方说有P1,P2,P3,P4.....这样一个序列,我们从P1开始求和,比如说在P5时求和数小于零,就可以断定。第一种情况,最大序列在P1~P5之间,或者说在P6~Pn之间。因为如果P1...
分类:编程语言   时间:2014-11-21 20:34:45    阅读次数:253
【算法数据结构Java实现】递归的简单剖析及时间复杂度计算
1.理解            对于递归函数的理解,我觉得是比较重要的,因为很多大神能把递归函数用的惟妙惟肖,不光是他们的编程功力高深,更主要是能理解这个算法。比较直白的理解是,如果一个事件的逻辑可以表示成,f(x)=nf(x-1)+o(x)形式,那么就可以用递归的思路来实现。编写递归逻辑的时候要知道如下法则:1.要有基准  比如说,f(x)=f(x-1)+1,如果不加入基准,f(0)的值是多少,...
分类:编程语言   时间:2014-11-21 16:15:02    阅读次数:171
第二篇 算法概述及复杂度
虽然本系列随笔是记录数据结构相关的内容,但是我们都知晓算法和数据结构是密不可分的。我们也可以时常看到一个公式“程序设计=数据结构+算法”。数据结构是研究数据之前的关系,以及数据在计算机中的存储形式,而算法是让数据通过一定的形式得到我们需要的结果。这其中包含各种的逻辑运算等。 提及算法,我们会自...
分类:编程语言   时间:2014-11-21 01:25:27    阅读次数:274
494条   上一页 1 ... 37 38 39 40 41 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!