欢迎来到天天文库
浏览记录
ID:52718256
大小:36.00 KB
页数:13页
时间:2020-03-29
《数据结构习题及参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构习题及参考答案一、判断下列叙述的对错。 <1)线性表的逻辑顺序与物理顺序总是一致的。 <2)线性表的顺序存储表示优于链式存储表示。 <3)线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。 <4)二维数组是其数组元素为线性表的线性表。 <5)每种数据结构都应具备三种基本运算:插入、删除和搜索。 二、设单链表中结点的结构为 typedefstructnode{file://链表结点定义 ElemTypedata;file://数据 structnode*Link;fi
2、le://结点后继指针 }ListNode; <1)已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作? A.s->link=p;p->link=s; B.s->link=p->link;p->link=s; C.s->link=p->link;p=s; D.p->link=s;s->link=p; <2)非空的循环单链表first的尾结点<由p所指向)满足: A.p->link==NULL; B.p==NULL; C.p->link==first; D.p=
3、=first;13/13 三、设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少应为多少?b5E2RGbCAP 四、一棵具有n个结点的理想平衡二叉树<即除离根最远的最底层外其他各层都是满的,最底层有若干结点)有多少层?若设根结点在第0层,则树的高度h如何用n来表示<注意n可能为0)?p1EanqFDPw 五、从供选择的答案中选择与下面有关图的叙述中各括号相匹配的词句,将其编号填入相应的括号内。 <1)对于一个
4、具有n个结点和e条边的无向图,若采用邻接表表示,则顶点表的大小为5、Dijkstra方法 ③深度优先遍历算法④广度优先遍历算法 六、填空题 <1)在用于表示有向图的邻接矩阵中,对第i行的元素进行累加,可得到第i个顶点的<①)度,而对第j列的元素进行累加,可得到第j个顶点的<②)度。RTCrpUDGiT <2)一个连通图的生成树是该图的<③)连通子图。若这个连通图有n个顶点,则它的生成树有<④)条边。 <3)给定序列{100,86,48,73,35,39,42,57,66,21},按堆结构的定义,则它一定<⑤)堆。5PCzVD7HxA13/13 <4)在进行直接插入6、排序时,其数据比较次数与数据的初始排列<⑥)关;而在进行直接选择排序时,其数据比较次数与数据的初始排列<⑦)关。jLBHrnAILg <5)利用关键码分别为10,20,30,40的四个结点,能构造出<⑧)种不同的二叉搜索树。 七、设带表头结点的双向链表的定义为 typedefintElemType; typedefstructdnode{file://双向链表结点定义 ElemTypedata;file://数据 structdnode*lLink,*rLink;file://结点前驱与后继指针 7、 DblNode; typedefDblNode*DblList;file://双向链表 试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域lLink把所有结点按照其值从小到大的顺序连接起来。xHAQX74J0X 八、设有一个关键码的输入序列{55,31,11,37,46,73,63,02,07,LDAYtRyKfE <1)从空树开始构造平衡二叉搜索树,画出每加入一个新结点时二叉树的形态。若发生不平衡,指明需做的平衡旋转的类型及平衡旋转的结8、果。Zzz6ZB2Ltk <2)计算该平衡二叉搜索树在等概率下的查找成功的平均查找长度和查找不成功的平均查找长度。 九、下面是求连通网络的最小生成树的Prim算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。 constintMaxInt=INT_MAX;file://INT_MAX的值在中 constintn=6;file://图的顶点数,应由用户定义 typedefintAdjM
5、Dijkstra方法 ③深度优先遍历算法④广度优先遍历算法 六、填空题 <1)在用于表示有向图的邻接矩阵中,对第i行的元素进行累加,可得到第i个顶点的<①)度,而对第j列的元素进行累加,可得到第j个顶点的<②)度。RTCrpUDGiT <2)一个连通图的生成树是该图的<③)连通子图。若这个连通图有n个顶点,则它的生成树有<④)条边。 <3)给定序列{100,86,48,73,35,39,42,57,66,21},按堆结构的定义,则它一定<⑤)堆。5PCzVD7HxA13/13 <4)在进行直接插入
6、排序时,其数据比较次数与数据的初始排列<⑥)关;而在进行直接选择排序时,其数据比较次数与数据的初始排列<⑦)关。jLBHrnAILg <5)利用关键码分别为10,20,30,40的四个结点,能构造出<⑧)种不同的二叉搜索树。 七、设带表头结点的双向链表的定义为 typedefintElemType; typedefstructdnode{file://双向链表结点定义 ElemTypedata;file://数据 structdnode*lLink,*rLink;file://结点前驱与后继指针
7、 DblNode; typedefDblNode*DblList;file://双向链表 试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域lLink把所有结点按照其值从小到大的顺序连接起来。xHAQX74J0X 八、设有一个关键码的输入序列{55,31,11,37,46,73,63,02,07,LDAYtRyKfE <1)从空树开始构造平衡二叉搜索树,画出每加入一个新结点时二叉树的形态。若发生不平衡,指明需做的平衡旋转的类型及平衡旋转的结
8、果。Zzz6ZB2Ltk <2)计算该平衡二叉搜索树在等概率下的查找成功的平均查找长度和查找不成功的平均查找长度。 九、下面是求连通网络的最小生成树的Prim算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。 constintMaxInt=INT_MAX;file://INT_MAX的值在中 constintn=6;file://图的顶点数,应由用户定义 typedefintAdjM
此文档下载收益归作者所有