- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
去年的数据结构考试提纲
数据结构概念、分类
(P4)数据结构是指互相之间存在着一种或多种关系的数据元素的集合。
(P5)分类:①集合结构②线性结构③树形结构④图形结构
线性结构:一对一的关系,如线性表、栈、队列
树形结构:一对多的关系,如树
图状结构:多对多的关系,如图
算法的相关概念,算法特性,时间复杂度与空间复杂度
(P7)算法是对特定问题求解步骤的一种描述,是指令的有限序列。
算法特性:
①有穷性:一个算法必须在执行有限步骤之后结束。
②确定性:算法的每一步必须有确切的定义,无二义性。
③可行性:算法中的每一条指令都可以通过有限次、可实现的基本运算且在有限的时间内实现。
④输入:一个算法具有零个或多个输入。
⑤输出:一个算法具有零个或多个输出。
(P11)时间复杂度(Time Complexity):基本操作重复执行的次数的阶数。
T(n)=O(f(n))
f(n)——算法中基本操作重复执行的次数
常见的时间复杂度:
常数阶O(1),对数阶 O(lgn),线性对数阶O(nlgn) ,平方阶O(n2) ,立方阶O(n3) ,指数阶O(2n)。
(P14)空间复杂度(Space Complexity)定义:运行完一个程序所需要的内存容量。
S(n) = O(g(n))
表示随着问题规模 n 的增大,算法运行所需存储量的增长率与 g(n) 的增长率相同。
程序的存储空间包括:
①固定部分(只取决于问题本身,与算法无关)
代码、常量、变量和输入数据。
②可变部分
复合变量所需的空间(所占空间依赖于使用的算法)、动态分配空间、递归栈所需空间。
注意:
在进行时间和空间复杂度分析时,如果所需的时间和空间依赖于特定的输入,一般按最坏情况分析。
线性表的顺序存储结构(顺序表)与链式存储结构(单链表)的概念,相关算法,两种结构的优缺点,什么时候适用
(P19)顺表(P25)链表(单链表、循环链表、双向链表)(P37)优缺点如何选取
顺序存储结构——借助元素在存储器中的相对位置来表示数据元素间的逻辑关系。
链式存储结构——借助指示元素存储地址的指针表示数据元素间的逻辑关系。
顺序表 (Sequence list)
定义:用一组地址连续的存储单元存放的线性表。
元素地址计算方法:
LOC(ai)=LOC(a1)+(i-1)*l
LOC(ai+1)=LOC(ai)+l
其中:
l—一个元素占用的存储单元个数。
LOC(ai)—线性表第i个元素的地址。
特点:
逻辑上相邻,物理地址也相邻。
随机存取。
实现:可用C语言的一维数组实现。
优点
逻辑相邻,物理也相邻。
可随机存取任一元素。
存储空间使用紧凑。
缺点
插入、删除操作需要移动大量的元素。
预先分配空间需按最大空间分配,利用不充分。
表容量难以扩充。
单链表
定义:结点中只包含一个指针域的链表叫线性链表,也叫单链表。
栈的特点、存储结构、相关算法与应用场合
(P45)栈具有“后进先出”的特性。(P46)顺序栈的存储结构。(P51)链式栈的存储结构。
栈(Stack)
是一种特殊的线性表,是操作受限的线性表。
栈的应用:
程序设计、调试和运行等。
定义:限定仅在表尾进行插入或删除操作的线性表。
表尾—栈顶。
表头—栈底。
不含元素的空表称空栈。
特点:
先进后出(FILO)或后进先出(LIFO)
栈的应用
数制转换、表达式求值、过程的嵌套调用、递归
队列的特点、存储结构、相关算法与应用场合
(P61)队列具有“先进先出”特性。(P62)存储结构
定义:队列是限定只能在表的一端进行插入,在表的另一端进行删除的线性表。
队尾(rear)——允许插入的一端。
队头(front)——允许删除的一端。
队列特点:先进先出(FIFO)
树的存储方法,二叉树的性质,特殊的二叉树(完全二叉树、满~),二叉树的存储方式,二叉树遍历,哈夫曼树的定义,构造哈夫曼
(P111)数的存储方法
①双亲表示法
实现:定义结构体数组存放树的结点,每个结点含两个域。
数据域:存放结点本身信息。
双亲域:指示本结点的双亲结点在数组中位置。
特点:找双亲容易,找孩子难。
②孩子表示法
孩子链表:每个结点的孩子结点用单链表存储,再用含n个元素的结构数组指向每个孩子链表
③带双亲的孩子链表表示法
④孩子兄弟表示法(二叉树表示法)
实现:用二叉链表作树的存储结构,链表中每个结点的两个指针域分别指向其第一个孩子结点和下一个兄弟结点。
特点:操作容易;破坏了树的层次。
(P116)二叉树的性质
①
②深度为k的二叉树至多有 个结点(k ≥1)
③对任何一棵二叉树T,如果其终端(叶子)结点数为n0,度为2的结点数为n2,则n0=n2+1(叶子结点数=2度结点数+1)
④
⑤如果对一棵有
文档评论(0)