数据结构复习提纲2011.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011年数据结构复习提纲 2011.12 考试形式:闭卷 题型:一、选择20分10题 二、程序阅读8分 2题 三、问题求解32分6题 四、编程20分4选2题 五~六 大型算法求解题20分2题 线性部分: 要求掌握到会编程 列表: a. 基于数组(静态数组,动态数组)实现的列表;基于链表(单向链表)实现的列表 b. 列表上的操作:添加元素(在指定位置插入)、删除元素(删除指定位置的元素)、访问元素、查找元素(无序:顺序查找;有序:折半查找/二分查找,不支持链表存储模型) ----各种操作的原理,复杂度,程序实现,并能对一些衍生的应用需求进行编程 c.链表有变形:带头结点(哨兵)的链表、单向循环链表、双向链表、双向循环链表、带尾指针的链表----各种链表的样子,会描述(画),知道各种链表的特点,优点,其中粗体为比较重要的。 d.基于列表的排序:冒泡,选择,插入,希尔,基数,快速,归并,其中粗体为比较重要,粗斜体为重要。----排序原理(会模拟排序的全过程),复杂度,程序实现,各种排序的特征(能根据特征分辨出来不同的排序) 栈: 基于数组/链的实现; 结构特点(先进后出),操作受限(添加/删除 均在栈顶) 栈的应用:表达式计算(中缀转换成后缀;计算后缀表达式)----理解栈在其中扮演的角色,会模拟全过程。 队列:基于数组/链的实现,特别考虑循环队列,结构特点(先进先出),操作受限(添加在队尾;删除在队首---考虑循环队列的处理),循环队列空满的判断(牺牲一个元素) 4.线性结构在STL中:vector/list/stack/queue 能作到读代码,在编程中使用,即明白有哪些成员操作,怎么进行声明和初始化构造。 非线性部分:要求掌握到能读懂代码 树/二叉树: 森林/一般树和二叉树之间的转换关系; 二叉树是有序树;递归定义的结构; 二叉树的术语/几种特例(满二叉(树),完全二叉(树),二叉查找树,AVL树,堆(最大堆));二叉树的一些结论(满二叉:叶子节点树=中间节点数+1;完全二叉:最适合用数组存储;第i层最多存放的节点个数?n层二叉树最多存放的节点个数?n个节点的二叉树最高/最矮?3个节点的二叉树的形态?); 二叉树的存储表示(数组,链节点);二叉树的遍历(4种:前,中,后,层次); 二叉查找树的操作:遍历(中序遍历为有序);元素查找;元素添加(总是成为叶子);元素删除(3种情况,其中有两个子树的要特别注意)----掌握操作的复杂度,原理,能模拟,能读懂代码 二叉查找树的平衡(AVL树:平衡因子--会计算每个节点的平衡因子;在添加节点过程中进行平衡调整—4种调整方法(左旋/右旋/左右旋/右左旋);保持稳定的树高(log2n),因此平衡树上的所有操作的复杂度均稳定。 优先队列: 优先队列的结构特点;不属于线性结构 堆是天然的优先队列;(最大)堆的特点; 堆上的操作:元素添加(向上调整);元素删除(向下调整);建堆(两种方法:从空堆开始逐个插入;调整已存在的数据集合--从最后的子树开始调整);堆排序----掌握所有操作的原理,复杂度,会模拟,能读懂代码 优先队列+二叉树的应用:哈夫曼/huffman树,会模拟构造的全过程,编码(非前缀码-立即可解码性,不等长),会计算总通信代价∑wili 散列: 散列的概念;散列函数;冲突 散列冲突解决的两种策略:线性探测/桶散列—链地址法;----理解冲突解决的原理,会模拟,能计算平均成功/失败的查找长度 图: 图的一些基本概念(无向,有向,有向带权) 图的表示,两种方法:邻接矩阵;邻接表 ---如何表示(无向,有向,有向带权 图) 表示方法的优劣比较,在图表示上的基本应用(计算出入度;了解-矩阵的幂次含义等)--能表示,以及通过图的表示识别图 图的遍历/可达/连通:两种搜索策略-深度优先搜索(栈)/广度优先搜索(队列)---会识别/模拟 warshall算法了解 最短路径:dijkstra算法 最小生成树:kruscal算法了解 (三)辅助 1.复杂度的概念;简单复杂度的计算;常用结构操作的复杂度 2. ADT的概念;ADT和具体的程序数据类型之间的关系/区别 3.递归程序能理解程序运行的机制(使用栈,自己调用自己),对于简单递归定义的需求能写递归程序,也要会读

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档