数据结构2019 作业答案.doc_第1页
数据结构2019 作业答案.doc_第2页
数据结构2019 作业答案.doc_第3页
全文预览已结束

下载本文档

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

文档简介

1 判断题()1. 数据的逻辑结构与数据元素本身的内容和形式无关。 ()2. 线性表的逻辑顺序与物理顺序总是一致的。()3. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。()4. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。()5. 最优二叉搜索树的任何子树都是最优二叉搜索树。()6. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。()7. 有n(n1)个顶点的有向强连通图最少有n条边。()8. 连通分量是无向图中的极小连通子图。()9. 二叉树中任何一个结点的度都是2。()10. 单链表从任何一个结点出发,都能访问到所有结点。二、单选题1 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动(B)个元素。 A8 B. 63.5 C. 63 D. 72 设有一个二维数组Amn,假设A00存放位置在644(10),A22存放位置在676(10),每个元素占一个空间,则A33在(A)位置,(10)表明用10进数表示。A692(10) B. 626(10) C. 709(10) D. 724(10) 3 N个顶点的连通图至少有(A)条边。AN1 B. N C. N1 D. 04 下面程序的时间复杂度为(C)。 for(int i=0; im;i+) for(int j=0; jlink=p-link; p-link =s; B. q-link=s; s-link =p;C. p-link=s-link; s-link =q; D. p-link=s; s-link =q;6 栈的插入和删除操作在(A)进行。 A栈顶 B. 栈底 C. 任意位置 D. 指定位置7 若让元素1,2,3依次进栈,则出栈次序不可能出现哪种情况(C)。 A3,2,1 B. 2,1,3 C. 3,1,2 D. 1,3,28 广义表A(a),则表尾为(C)。Aa B. () C. 空表 D. (a)9 采用邻接表存储的图的深度优先遍历算法类似于二叉树的(B)。 A中序遍历 B. 前序遍历 C. 后序遍历 D. 按层次遍历10 每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做(B)排序。 A插入 B. 选择 C. 交换 D. 外排序三、填空题1. 算法是一个有穷的指令集,它为解决某一特定任务规定了一个运算序列。它应具有输入、输出、确定性、有穷性和可执行性等特性。2. 当问题的规模n趋向无穷大时,算法执行时间T(n)的数量级被称为算法的时间复杂度。3. 在一棵度为3的树中,度为2的结点个数是1,度为0的结点个数是6,则度为3的结点个数是2。4. 当用长度为n的数组顺序存储一个栈时,若用top=n表示栈空,则表示栈满的条件为top=0。 5. 对序列(49,38,65,97,76,27,13,50)采用快速排序法进行排序,以序列的第一个元素为基准元素得到的划分结果是1327384550657697。6. 对于一棵具有n个结点的树,该树中所有结点的度数之和为n-1。7. 请指出在顺序表5、11、23、35、51、64、72、85、88、90、98中,用折半查找关键码30需做4次关键码比较。8. 若线性表采用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则第12个元素的存储地址是144。9. 在一个长度为n 的顺序表中,向第i个元素(1 i n)之前插入一个新元素时,需要向后移动n-i+1个元素。10. 设有两个串p和q,求q在p中首次出现的位置的运算称作模式匹配。四、程序阅读填空1. 在顺序表中第 i 个位置插入新元素 xtemplate int SeqList:Insert (Type & x, int i) if (ilast+1|last=MaxSize-1) return 0; /插入不成功 else last+; for( intj=last;ji;j-) dataj=dataj-1; datai = x; return 1; /插入成功 2. 直接选择排序的算法 template void SelectSort(datalist & list) for(int i=0; ilist.CurrentSize-1; i+) SelectExchange(list,i); template viod SelectExchange(datalist & list, const int i)int k = i; for(int j=i+1;j list.CurrentSize;j+)if(list.Vectorj.getKey()list.Vectork.getKey()k=j;/当前具有最小关键码的对象 if(k!=i) Swap(list.Vectori, list.Vectork); /交换五、简答题1. 线性表可用顺序表或是链表存储,此两种存储表示各有哪些优缺点?答:顺序表存储的特点是相邻的数据元素的存放地址也相邻;优点是存取效率高,存取速度快;缺点是插入或删除不方便,存储空间不能充分利用。链表存储的特点是相邻的数据元

温馨提示

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

评论

0/150

提交评论