数据结构和C语言程序设计复习.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文档。上传文档
查看更多
数据结构和C语言程序设计复习

数据结构 数据结构 逻辑结构 存储结构 操作 线性结构 树 型 结构 图 状 结构 集 合 顺 序 存 储 结 构 链 式 存 储 结 构 虚拟存储结构 数组 指针 2001 2000 1999 线性 结构 next值(5) 线性表的归并(12) 两个栈模拟队列(12) 树型 结构 遍历序列 二叉树〈=〉森林 树的基本概念 在二叉树上求结点的祖先 三次树前后序确定树(5) 中序线索树上求后序后继(20) 判断二叉树相似(8) 按层次顺序遍历二叉树(12) 先序+中序建立二叉树(12) 图状 结构 关键路径 (逆)邻接表的生成 图的深度优先,广度优先,最小生成树(12) 集合: 查找 排序 外排 最佳归并树的虚段 平衡二叉树 二叉排序树 ASL分析 Hash表平均查找长度公式(5) B-树的深度定义(5) 各类排序复杂度(8) 排序时间复杂度证明(8) 有序表查找长度证明(8) 置换-选择排序(8) 删除二叉树结点(12) Hash表的删除(12) 二叉排序树,平衡二叉树(7) 内部排序第一趟结果(9) 堆定义、堆排序与其它排序的比较(8) 置换-选择排序(4) 算法设计与分析 递归方程求解 递归方程求解 程序题 所占比例 2/10 35’ 3/12 40’ 5/10 60’ 总结所考知识点分布: 线性结构: KMP算法中next数组的值 线性表的归并 两个栈模拟队列 栈的输出序列 栈、队列基本操作的时间复杂度 树: 二叉树和树的定义 二叉树的前序、中序、后序、层次遍历 哪些遍历序列可唯一决定二叉树 二叉树的结点查找 二叉树的相似判断 求二叉树结点的祖先结点 中序线索二叉树及中序遍历线索二叉树 在中序线索二叉树上求其他序的前驱、后继 Huffman树的构造 森林(树)与二叉树的转换 图: 图的深度优先、广度优先遍历 生成树 最小生成树的Kruskal算法 (逆)邻接表的生成 拓扑排序 关键路径 最短路径Dijkstra算法、Floyd算法 查找: 有序表ASL证明 索引排序表的查找 二叉排序树的插入、删除、ASL分析 平衡二叉树的插入、删除、 B-树的定义、深度、插入 Hash表的构造、查找、删除及ASL分析 排序: 各类排序的时间空间复杂度分析 稳定性分析 基于比较的排序在最坏情况下能达到的最好的时间复杂度证明 各类排序的第一趟排序结果 堆的定义 置换选择排序的初始归并段构造 初始归并段平均长度的证明 最佳归并树的虚段 算法设计与分析: 递归方程求解 例题分析 例:假设有两个按元素值非递减有序排列的线性表A和B,均以单链表作存储结构,请编写算法将表A和表B归并成一个按元素非递减有序(允许值相同)排列的线性表C,并要求利用原表(即表A和表B)的结点空间存放表C。 void MergeList_L(LinkList La, LinkList Lb,LinkList Lc) //已知单链线性表La和Lb的元素按值非递减排列。 //归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列。 { pa=La-next;pb=Lb-next; Lc=pc=La; //用La的头结点作为Lc的头结点 while(papb) { if(pa-data=pb-data) { pc-next=pa; pc=pa;pa=pa-next;} else {pc-next=pb;pc=pb;pb=pb-next;} } pc-next=pa?pa:pb; //插入剩余段 free(Lb); //释放Lb的头结点 }//MergeList_L 例:已知两个单链表A和B分别表示两个集合,其元素递增排列,请编写算法求C=A?B,要求C按元素递增排列,并利用原表(即表A和表B)的结点空间存放表C。 void Join(Linklist la, linklist lb, linklist lc) { pa=la-next;pb=lb-next;lc=la;pc=la; while(papb) {if(pa-datapb-data){p=pa;pa=pa-next;free(p);} else if(pa-datapb-data) {p=pb;pb=pb-next;free(p);} else{pc-next=pa;pc=pa;pa=pa-next; p=pb;pb=pb-next;free(p); } } pc-next=nil; while(pa){p=pa;pa=pa-next;free(p);} while(pb){p=pb;pb=pb-next;fre

文档评论(0)

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

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

1亿VIP精品文档

相关文档