《数据结构》复习要点.doc_第1页
《数据结构》复习要点.doc_第2页
《数据结构》复习要点.doc_第3页
《数据结构》复习要点.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构B复习要点第1章 基础知识1、算法与数据结构(数据结构概念、基本逻辑结构、数据存储表示等,会分析、使用各种数据结构)2、数据抽象和抽象数据类型(数据结构规范、实现)3、算法分析的基本方法(时间复杂性、空间复杂性)第2章 线性表1、性表的顺序和链接表示2、理解在顺序表、单链表、双链表上实现线性表运算,能设计相应算法3、顺序和链接表示的优缺点比较4、了解多项式的算术运算第3章 堆栈和队列1、了解栈和队列的概念、特点2、理解顺序栈和循环队列运算的实现3、算术表达式计算(中缀转后缀,后缀表达式计算)算法第4章 数组和字符串1、一维数组和对称矩阵的压缩存储方法(二维到一维的转换公式)2、三元组存储稀疏矩阵的方法3、了解三元组表示的快速矩阵转置方法,num和k数组的计算。第5章 树1、二叉树的定义、性质及二叉链表2、理解二叉树的遍历算法(遍历结果、算法设计),能设计相应算法3、森林与二叉树的相互转换算法4、哈夫曼树构造算法、哈夫曼编码、WPL计算第6章 集合与搜索1、了解有序表的顺序搜索算法2、理解对半搜索算法和程序,会画二叉判定树3、会计算平均搜索长度第7章 搜索树1、理解二叉搜索树的定义、性质和插入、删除算法,搜索算法的程序2、B-树的定义和插入、删除算法第8章 散列表1、掌握散列函数的相关概念2、除法散列函数3、掌握解决冲突的开地址法(线性探测、二次探查法、双散列法)第9章 图1、理解图的基本概念、术语和存储结构2、掌握图的算法(结果):遍历、拓扑排序、最小代价生成树(Prim算法)第10章 内排序1、三种简单排序算法、快速排序和两路合并排序算法、过程、结果2、排序算法的时间复杂度(最好、最差)、稳定性 考试样题一、填空题(10分,每题1分)1、写出表达式a*b+c/d的后缀形式_。2、已知一无向图G=(V,E),其中V=a,b,c,d,e,E=(a,b), (a,d), (a,c) (d,c), (b,e),现用某一种遍历方法从顶点a开始遍历图,得到的序列为abecd,则采用的是_遍历方法。3、在顺序表长度为n中,平均在表中插入一个元素需要移动元素的个数可用计算公式为_。4、678的整型数组A,其每个数组元素占1个字节,已知A00 0在内存中的地址是L,按行主序,A234的地址是 。二、选择题(10分,每题2分)1、具有n 个顶点的有向完全图中,边的总数为( )条。 A)n(n+1) B)n(n-1) C)n(n-1)/2 D)n(n+1)/22、设一个栈输入序列是1、2、3、4、5,则下列序列中不可能是栈的输出序列是( )。A)32541 B)15432C)14523 D)231453、二叉树的前序遍历为EFHIGJK,中序遍历序列为HFIEJKG。该二叉树根结点的右子树的根是()A) E B) FC) G D) H4、对有14个元素的有序表A1-A14作对半查找,查找元素A4时的被比较元素依次为() A. A1,A2,A3,A4 B.A7,A3,A5,A4 C. A1,A2,A7,A4 D.A7,A5,A3,A45、设有一个长度为100且已排好序的表,用对半搜索进行查找,若搜索不成功,则至少要比较_次。 ( )A9 B8 C7 D6三、简答题(20分,每题5分)1、用一维数组存放的一棵完全二叉树如图所示: 图写出前序、中序、后序遍历该二叉树时访问结点的顺序。2、图的邻接表表示一个给定的无向图。(1)给出从顶点v1开始,用深度优先搜索法进行遍历时的顶点序列;(2)给出从顶点v1开始,用广度优先搜索法进行遍历时的顶点序列。四、解答题(32分,每题8分)1、设数据集合d=1,12,5,8,3,10,7,13,9,试完成下列各题:(1)依次取d中各数据,构造一棵二叉搜索树bt。(2)画出在二叉树bt中删除12后的树结构。2、对图的3阶B-树,依次执行下列操作,画出各步操作的结果。(1)插入90;(2)插入25;(3)插入45;(4)删除60; 图五、程序阅读题(10分)图采用邻接表存储表示,边结点的结构如图所示,下面的程序是邻接表类LinkedGraph的某个成员函数template void LinkedGraph:A()nextarcweightadjvex图int *in=new intn;for (int i=0;in;i+) ini=0;0ENode *p;52401for (i=0;iadjvex+;p=p-nextarc;coutendl;for (i=0;in;i+) couti: ini;endl;delete in; 请说明该成员函数的作用是什么? 若有一个邻接表如图8所示,请给出执行该函数的结果?六、算法设计题(10分)1、在以二叉链表表示的二叉树类BinaryTree中增加一个成员函数LeavesInTree( )。该模板函数为递归函数,其功能是求二叉树类BinaryTree的对象中叶子结点的数目。实现该递归函数。函数原型如下:template int BinaryTree:LeavesInTree( )参考答案:template int BinaryTree:LeavesInTree( )return Leaf(root); template int BinaryTree:Leaf(BTNode *t) if (t = NULL) return 0;if (t-lChild = NULL)&(t-rChild = NULL) return 1;return Leaf(t-lChild) + Leaf(t-rChild); 2、输入n个数据。设计一个时间复杂度为O(n)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论