- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法与数据结构复习资料.doc
《算法与数据结构》复习重点
第2章 程序性能
给出一个程序段,会写出该程序段的时间复杂度;
第3章 线性表
顺序存储结构的特点
表中元素可以随机访问;
非表尾的插入和删除操作需要移动元素;
表空间无法动态扩充,需预先按最大空间分配,存储空间利用率低;
相邻元素的物理位置相邻
无需为维护表中元素的逻辑关系增加额外的存储空间
若用数组实现表,设表元素总数为n,在第k个元素后插入一个新元素,需要后移的元素数目为n-k。设在表的任何合法位置上插入元素的概率均等,则插入操作所需要的元素移动平均次数为n/2。
若用数组实现表,设表元素总数为n,删除第k个元素,需要前移的元素数目为n-k。设删除表的任何元素的概率均等,则删除操作所需要的元素移动平均次数为(n-1)/2。
链式存储结构的特点
表元素分散存放,物理位置不一定相邻;
每个结点包含指向下一结点的指针域;
只能顺序搜索,不能随机访问;
插入和删除操作只需要通过修改指针实现,效率较高
不需为表预留空间,存储空间利用率高,表容量可动态扩充
每个结点中的指针域需占用额外空间
在带哨兵结点的单循环链表中,设置尾指针last指向链尾结点,每个结点中的后继指针域为next,则判断表空的表达式为last-next==last;在带哨兵结点的双循环链表中,设置指针header指向哨兵结点,每个结点中的后继指针域为next,前驱指针域为prior,则判断表空的表达式为header-next==header或header-prior==header。
在带哨兵结点的单链表的插入和删除操作中,链指针的修改
理解静态链表
静态链表中的指针域又称为游标或模拟指针,存放下一元素在数组中的下标
多条静态链表可共用一个数组空间
在数组空间中,静态链表中的元素可以分散存放,即相邻元素的下标不一定相邻
静态链表的扩充受到数组空间容量的限制
第4章 栈
栈的操作原则为先进后出或后进先出,插入和删除操作均在栈顶方向上进行。
用数组实现栈的入栈和出栈函数;
用数组实现栈的优缺点:
栈上的基本操作都能在常量时间内完成,效率较高;
为避免栈发生溢出,通常需要预置一个较大栈空间,存储空间利用率较低;
为提高空间利用率,可让多栈共享数组空间;
用链表实现栈的特点:链栈空间可以动态扩充
第5章 队列
队列的操作原则是先进先出或后进后出,插入操作在队尾进行,删除操作在队头进行
若用循环数组实现队列,设置front指向队头元素前一单元,rear指向队尾元素,并采用总剩一个单元不利用的方法区分满空状态,则当front和rear满足什么关系时队列为空,满足什么关系时队列为满?
用循环数组实现队列的入队和出队函数。
第6章 树
树的基本概念,包括树的度、叶结点或终端结点、分支结点、内部结点、兄弟、堂兄弟、祖先、子孙、树的高度、有序树、无序树。
树的表示法
父结点数组表示法可以快速找到结点的父结点,但查询儿子结点和兄弟结点可能要遍历整个数组;
在儿子表示法中,若采用定长结点的多重链表结构,则表示一棵有n个结点度为d的树必有nd-(n-1)个空链域
儿子链表表示法适合于查找子结点,但不适合于查找父结点和兄弟结点
带双亲的儿子链表表示法适合于查找子结点、父结点和兄弟结点
左儿子右兄弟表示法方便查找子结点和兄弟结点,但不方便查找父结点
给出一棵树,会用父结点数组表示法、儿子链表表示法、左儿子右兄弟表示法表示它。
二叉树的概念
二叉树是有序树
度为2的树不一定是二叉树
度为2的有序树不一定是二叉树
子树有严格左右次序之分,且度≤2的树是二叉树
具有3个结点的树有5种形态,具有3个结点的二叉树有3种形态。
满二叉树的特点:
所有叶结点都集中在最底层
不存在度为1的结点
每一层上的结点数均达到最大值
所有分支结点都存在左子树和右子树
例题:
① 高度为8的满二叉树的结点总数为 255 。
完全二叉树的特点:
叶结点只可能在层次最大的两层上出现
最下层的叶结点一定集中在该层的左端
度小于2的结点只可能位于最下两层
除最下层外,其余各层均满
度为1的结点只可能出现在倒数第二层
对任一结点,若其右分支下的子孙最大层次为s,则其左分支下的子孙的最大层次必为s或s+1
二叉树的性质
具有n个结点的非空二叉树共有n-1个分支
非空二叉树的第i层上至多有2i-1个结点(i≥1)log2n +1。
具有n个结点的二叉树的最小高度为 log2n +1,最大高度为n。
若对具有n个结点的完全二叉树按照层次从上到下,每层从左到右的顺序进行编号,则编号为i的结点具有下列性质:
ⅰ如果i=1,则结点i是二叉树的根,无父结点;否则父结点是 i/2
ⅱ如果2in,则结点i无左孩子(结点i为叶结点);否则左孩子编号为2i
ⅲ如果2i+1n,则结点i无右孩子;否
您可能关注的文档
- 第四组-大三下地基基础设计.doc
- 第四节 抛体运动的规律.doc
- 第四节 文献综述的写作_贷帮.doc
- 第四节动物的行为.doc
- 第四讲 复平面上的特殊点集.doc
- 第四讲 信源编码.pdf
- 第四讲 微带天线.doc
- 第四讲 数论的方法技巧之二.doc
- 第四讲 日本文化与日本对外关系.doc
- 第四讲 英汉翻译技巧(三).doc
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)