数据结构与算法
文章平均质量分 79
love1code
我只想做一名程序员。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法时间复杂度的衡量
算法复杂度分为时间复杂度和空间复杂度,一个好的算法应该具体执行时间短,所需空间少的特点。 随着计算机硬件和软件的提升,一个算法的执行时间是算不太精确的。只能依据统计方法对算法进行估算。我们抛开硬件和软件的因素,算法的好坏直接影响程序的运行时间。 我们看一下小例子: int value = 0; // 执转载 2015-03-29 16:08:59 · 1757 阅读 · 0 评论 -
循环队列的实现
队列就是一个特殊的线性表。特殊在于队列只允许在队头删除元素,在队尾添加新元素。和我们生活中的排队是一个道理。队列的一种实现方式是用数组,但是用数组就会出现队列“假满”的情况。于是循环队列就诞生了。这只是逻辑结构,数组在内存的物理结构是不变的。我们关心的正是逻辑结构下面是关键的几点:1.初始化 front=rear=0;原创 2015-06-16 12:55:57 · 576 阅读 · 0 评论 -
Linus:利用二级指针删除单向链表
Linus大神在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。下面是Linus的教学原文及翻译——“At the opposite end of the spectrum, I actually wish more people understoo转载 2015-06-25 11:42:35 · 492 阅读 · 0 评论 -
链式栈的接口实现
1.栈的特点是 先进后出 。2.链式栈没有限定容量(MAXSIZE),也就是栈可以容纳的元素取决于内存分配。对特定的程序,用不同的方法实现,如还可以用数组式的栈。3.实际上是一个没有头节点的链表,只不过对操作做了限定4.把栈顶元素定为 链表的第一个节点,也就是头指针指向的结点为栈顶,这样在压栈和出栈是方便操作。5.下面是对链式栈的实现,并写了一个驱动程序进行测试。6..驱动原创 2015-06-14 11:54:43 · 484 阅读 · 0 评论 -
链表接口的实现
# include # include # include # define StopCondition t!=0 /***根据实际程序需要修改***/typedef int DataType; /***根据实际程序需要修改***/typedef struct node{ DataType data; struct node *next; }No原创 2015-06-13 14:15:19 · 824 阅读 · 0 评论 -
约瑟夫环问题的解决
约瑟夫环问题介绍:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。# include # include # include typedef int DataTp;typedef struct node{原创 2015-06-12 20:37:18 · 565 阅读 · 0 评论
分享