- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构复纲要
数据结构期末复习要点!!!
数据结构
????复??习??要??点??????
第2章:线性表的概念以及顺序和链式存储下查找、插入和删除算法和算法的时间复杂性。
第3章:1.??概念:??栈、队列和循环队列;??2.??栈和队列的初始化、插入和删除算法;3.??栈、队列和循环队列的空、满条件。
第5章:数组、三元组和十字链表的定义
第6章:1.??各种定义;2.二叉树的链式存储结构和遍历(先序、中序、后序和层次);3.??树和森林的存储、遍历以及与二叉树的相互转换;4.??Huffman树的构造。
第7章:1.??图的存储(邻接矩阵、邻接表、邻接多重表)和遍历;2.最小生成树、关键路径和最短路的算法实现。
第9章:折半查找、二叉排序树、平衡二叉树和B-树的算法实现。
第10章:1.基本排序算法(冒泡、简单选择、直接插入)的编程;2.其它排序(希尔、快速、2-路归并、堆、表插入)的算法实现;3.??各种排序的稳定性。
第2章:线性表的概念以及顺序和链式存储下查找、插入和删除算法和算法的时间复杂性。
作业:2.2,??2.3,??2.6,??2.7,??2.8,??2.15,??2.19,??2.20
第3章:1.??概念:??栈、队列和循环队列;??2.??栈和队列的初始化、插入和删除算法;3.??栈、队列和循环队列的空、满条件。
作业:3.1,??3.6,??3.11,
第5章:数组、三元组和十字链表的定义
第6章:1.??各种定义;2.二叉树的链式存储结构和遍历(先序、中序、后序和层次);3.??树和森林的存储、遍历以及与二叉树的相互转换;4.??Huffman树的构造。
作业:6.5,??6.6,??6.14,??6.19,??6,23,??6.26,??6.27,??6.28,??6.37,??6.38,??6,47
第7章:1.??图的存储(邻接矩阵、邻接表、邻接多重表)和遍历;2.最小生成树、关键路径和最短路的算法实现。
作业:7.1,??7.7,??7.11,??7.13
第9章:折半查找、二叉排序树、平衡二叉树和B-树的算法实现。
作业:9.9,??9.11,??9.14,??
第10章:1.基本排序算法(冒泡、简单选择、直接插入)的编程;2.其它排序(希尔、快速、2-路归并、堆、表插入)的算法实现;3.??各种排序的稳定性。
作业:10.1,??10.3
?
第一章??绪论
第二节????基本概念和术语
1.3????抽象数据类型的表示与实现
类C语言的简要说明
例1-7????抽象数据类型Triplet的表示与实现
1.4????算法和算法分析
算法 ??????算法(Algorithm)就是对特定问题求解步骤的一种合理的描述。它有如下特征:有穷性;确定性;可行性。当然需要输入初始条件-输入,和操作结果-输出。
算法设计的要求 1.??正确性;2.??可读性;3.健壮性;?? 4.??高效率性和低存储性
?
1.4????算法和算法分析
算法效率的度量—时间和空间的度量 ??????衡量一个算法的效果(好坏),最广泛采用的标准主要是看这个算法解决问题所花费的时间长短,当然一般还要看所需要的存储空间。但是一个算法执行所花费的时间既与计算机的速度有关,也与要求解的实例有关。为了客观公正,必需要一个通用的标准。
?
?
????????????这个标准就是找一个参变量--问题的规模(Size),??即一个实例按二进制编码输入到计算机的编码长度,也就是所占存储的大小。问题的规模通常用整数量n表示。一般情况是数据元素的大小假定为1个单位,这样问题的规模n就是数据元素的个数(大部分情况都是这样)。
????????????为了便于比较同一问题的不同算法或者分析一个问题的算法复杂性,通常的做法是,从算法中选取几种对于所研究的问题来说是基本操作的原操作,以该基本算法重复执行的次数作为算法的时间度量。这个度量一般是n的某个函数f(n),算法的时间复杂度记作T(n)=O(f(n)).??如:
????????????????时间复杂度分为最坏情况、最好情况和平均情况下的时间复杂度。
?
????????????空间复杂度是衡量一个算法所需存储空间尺度,记作
S(n)=O(f(n)).
?
2.3??线性表的链式表示和实现
线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可用一个简单、直观的公式来表示。然而,??这种存储结构的弱点是:????在作插入或删除操作时,需移动大量数据元素,特别是当数据元素本身的大小比较大时尤为如此。
线性表的链式存储结构--它不再要求逻辑上相邻的元素在物理位置上也相邻,因此它没有顺序存储结构所具有的弱点,但同时也失去了顺序表可随机存取
文档评论(0)