数据结构考试题6(7页).doc

上传人:1595****071 文档编号:36352285 上传时间:2022-08-26 格式:DOC 页数:7 大小:135.50KB
返回 下载 相关 举报
数据结构考试题6(7页).doc_第1页
第1页 / 共7页
数据结构考试题6(7页).doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《数据结构考试题6(7页).doc》由会员分享,可在线阅读,更多相关《数据结构考试题6(7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。每张答题纸都要写上姓名和序号。一、单项选择题(每小题2分,共20分)1. 在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 。A. 数据的处理方法 B. 数据元素的类型C. 数据元素之间的关系 D. 数据的存储方法2. 下述函数中对应的渐进时间复杂度(n为问题规模)最小是 。A.T1(n)=nlog2n+5000n B.T2(n)=n2-8000nC.T3(n)= n-6000n D.T4(n)=7000log2n3. 设线性表有n个元素,以下操作中, 在顺序表上实现比在链表上实现效率更

2、高。A.输出第i(1in)个元素值B.交换第1个元素与第2个元素的值C.顺序输出这n个元素的值D.输出与给定值x相等的元素在线性表中的序号4. 设n个元素进栈序列是p1,p2,p3,pn,其输出序列是1,2,3,n,若p3=3,则p1的值 。A.可能是2B.一定是2C.不可能是1D.一定是15. 以下各种存储结构中,最适合用作链队的链表是 。A.带队首指针和队尾指针的循环单链表B.带队首指针和队尾指针的非循环单链表C.只带队首指针的非循环单链表D.只带队首指针的循环单链表6. 对于链串s(长度为n,每个结点存储一个字符),查找元素值为ch的算法的时间复杂度为 。A.O(1)B.O(n)C.O(

3、n2)D.以上都不对7. 设二维数组A610,每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素a35的存储地址为1000,则a00的存储地址是 。A.872B.860C.868D.8648. 一个具有1025个结点的二叉树的高h为 。A.11B.10C.111025D.1210249. 一棵二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则先序遍历序列为 。A.ACBEDB.DECABC.DEABCD.CEDBA10. 对图1所示的无向图,从顶点1开始进行深度优先遍历;可得到顶点访问序列 。A.1 2 4 3 5 7 6B.1 2 4 3 5 6 7C.1 2 4 5 6

4、 3 7D.1 2 3 4 5 7 6图1 一个无向图二、填空题(每题2分,共10分)1. 顺序队和链队的区别仅在于 的不同。2. 在有n个顶点的有向图中,每个顶点的度最大可达 。3. 对有18个元素的有序表R1.18进行二分查找,则查找R3的比较序列的下标为 。4. 对含有n元素的关键字序列进行直接选择排序时,所需进行的关键字之间的比较次数为 。5. 已知关键字序列为2,7,4,3,1,9,10,5,6,8,采用堆排序法对该序列作升序排序时,构造的初始堆(大根堆)是 。(不用画出堆,只需写出初始堆的序列)三、问答题(共40分)1. 一棵完全二叉树上有1001个结点,其中叶结点的个数是多少?(

5、需写出推导过程,8分)2. 给出如下各种情况下求任意一个顶点的度的过程(只需文字描述):(8分)(1)含n个顶点的无向图采用邻接矩阵存储;(2)含n个顶点的无向图采用邻接表存储;(3)含n个顶点的有向图采用邻接矩阵存储;(4)含n个顶点的有向图采用邻接表存储。3. 将整数序列4,5,7,2,1,3,6中的数依次插入到一棵空的平衡二叉树中,试构造相应的平衡二叉树。(要求画出每个元素插入过程,若需调整,还需给出调整后的结果,并指出是什么类型的调整,12分)4. 当实现插入直接排序过程中,假设R0.i-1为有序区,Ri.n-1为无序区,现要将Ri插入到有序区中,可以用二分查找来确定Ri在有序区中的可

6、能插入位置,这样做能否改善直接插入排序算法的时间复杂度?为什么?(8分)5. 简述外排序的两个阶段。(4分)四、算法设计题(每小题10分,共30分)1. 设计一个算法delminnode(LinkList *&L),在带头结点的单链表L中删除所有结点值最小的结点(可能有多个结点值最小的结点)。2. 假设二叉树采用二叉链存储结构存储,设计一个算法copy(BTNode *b,BTNode *&t),由二叉树b复制成另一棵二叉树t。3. 假设一个无向图是非连通的,采用邻接表作为存储结构,试设计一个算法,输出图中各连通分量的节点序列。参考答案一、单项选择题(每小题2分,共20分)1. C2. D3.

7、 A4. A5. B6. B7. B8. C9. D10. A二、填空题(每题2分,共10分)1. 存储方法或存储结构。2. 2(n-1)。3. 9、4、2、34. n(n-1)/2。5. 10,8,9,6,7,2,4,5,3,1。(序列不全对不给分)三、问答题(共40分)1. 答:二叉树中度为1的结点个数只能是1或0。设n1=1,n=n0+n1+n2=n0+n2+1=1001,由性质1可知n0=n2+1,由两式可求n0=500.5,不成立;设n1=0,n=n0+n1+n2=n0+n2=1001,由性质1可知n0=n2+1,由两式可求n0=501。本题答案为:501。评分标准:只给出结果给3分

8、,推导过程占5分。2. 答:对于邻接矩阵表示的无向图,顶点i的度等于第i行中元素等于1的个;对于邻接矩阵表示的有向图,顶点i的出度等于第i行中元素等于1的个数;入度等于第i列中元素等于1的个数;度数等于它们之和。对于邻接矩阵表示的无向图,顶点i的出度等于g-adjlisti为头结点的单链表中结点的个数;入度需要遍历各顶点的边表,若g-adjlistk为头结点的单链表中存在顶点编号为i的结点,则顶点i的入度增1;度数等于它们之和。评分标准:有向图、无向图两种存储方式各占4分。3. 建立平衡二叉树过程如图2所示(图中加阴影的结点表示要调整的结点)。图2 构造平衡二叉树过程评分标准:每次调整占1分。

9、4. 答:不能。因为在这里,二分查找只减少了关键字间的比较次数,而记录的移动次数不变,时间的复杂度仍为O(n2)。评分标准:答对“不能”占3分,说明理由占5分。5. 答:生成初始归并段(或顺串),采用多路平衡归并方法进行归并。四、算法设计题(共30分)1. 解:用p从头至尾扫描单链表,pre指向*p结点的前驱,用minp保存值最小的结点指针,minpre指向*minp结点的前驱。一面扫描,一面比较,将最小值的结点放到*minp中。算法如下:void delminnode(LinkList *&L)LinkList *pre=L,*p=pre-next,*minp=p,*minpre=pre;E

10、lemType mindata=p-data;while (p!=NULL & p-datadata;p=p-next;p=pre-next;while (p!=NULL)if (p-data=mindata)pre-next=p-next;free(p);pre=pre-next;p=pre-next;评分标准:根据算法的正确性评分,不考虑算法的时间复杂度。2解:递归算法如下:void copy(BTNode *b,BTNode *&t)BTNode *l,*r;if (b=NULL) t=NULL;elset=(BTNode *)malloc(sizeof(BTNode);copy(b-lchild,l);copy(b-rchild,r);t-lchild=l;t-rchild=r;评分标准:根据算法的正确性评分,不考虑算法的时间复杂度。3. 解:采用深度优先搜索遍历非连通图,并输出各连通分量节点序列的算法如下:DFSGraph(AGraph *G)int i,j=1;/用j记录连通分量的序号for (i=0;in;i+)if (visitedi=0)printf(第%d个连通分量节点序列:,j+);DFS(G,i);/调用深度优先遍历算法-第 7 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁