数据结构与算法
hyf62399
这个作者很懒,什么都没留下…
展开
-
第二章:单链表
1.基础知识回顾:单链表结点结构包括数据域和一个指向另一结点的指针域,如果你要访问单链表中任意的一个元素时,需要将指针从头到尾的往下搜索,所以此时单链表的平均时间复杂度为O(n/2), 而要得到某一结点的后继结点,则只需要o(1),时间复杂度,你要得到前一个结点,不好意思,此时将非常麻烦,因为在单链表中,没前存储头一结点的指针,所以此时你需要从头到尾的进行遍历一次,此时的时间复杂度将是O(原创 2010-04-12 20:50:00 · 505 阅读 · 0 评论 -
第三章:堆栈
1.基础知识:堆栈可以实现很多的应用,递归的问题转化成非递归形式,在本质上也是堆栈的问题.它是一种"FILO"操作的数据结构,一般也有两种存储方式:数组跟链表实现形式,这里我给出了链表形式的堆栈模板,里面包括了基本的堆栈所有的操作,还有两个比较著名的应用例子,时间仓促,精力比较有限,关于迷宫老鼠还没有实现.尽请各位原谅,哈哈,我的目标是复习一下堆栈的基本操作及实现,已经达到,就不作进一步细化了.有原创 2010-04-12 21:07:00 · 407 阅读 · 0 评论 -
第一章:C++程序设计
今天终于下定决心将数据结构与算法重新在复习一遍,先是C++的一些比较容易忘记的特性简单的温习一遍:包括递归调用,异常操作,类模板,函数模板等等,这三天写得源码如下: ///////////////////////////////////////////////////////////////////////////////// Book name : C++ structure原创 2010-04-04 21:57:00 · 483 阅读 · 0 评论 -
第五章:循环链表
1.循环链表具体实现代码:///////////////////////////////////////////////////////////////////////////////// Book name : C++ structure and algorithm// FileName : CirList.cpp// Version : 1.0// Aut原创 2010-04-26 20:59:00 · 390 阅读 · 0 评论 -
第四章:双向循环链表
双向循环链表,说穿了其实是单链表的一个变种。结点结构比单链表多了一个指向头一个结点的前驱结点,由于要实现循环。所以链表的尾结点需要与头结点形成一个环状,就跟蛇用头咬住自己尾巴是类似的。双向循环链表在现实生活中的应用是极其多的,这里实现了一个简单的模板,如有bug,请及时告诉我。 下面给出代码实现://////////////////////////////////////////////原创 2010-04-26 20:48:00 · 571 阅读 · 0 评论 -
第六章:二叉树
1.基础知识:二叉树是一种非线性结构,而前面讨论的都是线性结构,两种是有本质区别的。它在现实社会中存在着很多的模型。例如,人类社会的族谱,社会的各种组织分层,国家,学校,单位的各种机构,这些都是用树和二叉树来表示的。其中二叉树相当的实用。我为什么这么说呢,因为二叉树很有规则性,它的一系列操作都是相当有规律的,操作相对来讲比较简单,而其他的树则较二叉树要复杂得多,并且各个分支之间都没有固定的规律原创 2010-04-26 21:04:00 · 680 阅读 · 0 评论