数据结构期末考试试题.pdf





《数据结构期末考试试题.pdf》由会员分享,可在线阅读,更多相关《数据结构期末考试试题.pdf(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、“数据结构”期末考试试题一、单选题(每小题2 分,共 12分)1.在一个单链表H L 中,若要向表头插入一个由指针p指向的结点,则 执 行()。A.H L=p s pn ex t=H LB.pn ex t=H L;H L=p 3C.p-n ex t =H l;p=H L;D.p 一 n ex t=H L n ex t ;H L n ex t =p;2.n个 顶 点 的 强 连 通 图 中 至 少 含 有()。A.n l 条有向边 B.n 条有向边C.n(n-1)/2 条有向边 D.n(n l)条有向边3.从一棵二叉搜索树中查找一个元素时,其 时 间 复 杂 度 大 致 为()0A.0(1)B.
2、0(n)C.0(10 g zn)D.0(n 2)4.由权值分别为3,8,6,2,5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。A.24 B.48C.72 D.535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为()参数,以节省参数值的传输时间和存储参数的空间。A.整形 B.引用型C.指针型 D.常值引用型6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为()。A.0(n)B.0(1)C.0(n 2)I).0(10 g 2n)二、填空题(每空1 分,共 28分)1.数据的存储结构被分为、和四种。2.在广义表的存储结构中,单元素结点与表元素结点有
3、一个域对应不同,各自分别为域和域。3.中 缀 表 达 式 3 十 x*(2.4/56)所对应的后缀表达式为-。4.在一棵高度为h的 3 叉树中,最多含有结点。5.假定一棵二叉树的结点数为18,则它的最小深度为,最大深度为-6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定该结点的值,右子树上所有结点的值一定该结点的值。7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层调整,直到被调整到位置为止。8.表示图的三种存储结构为、和-。9.对用邻接矩阵表示的具有n个顶点和e 条边的图进行任一种遍历时,其时间复杂度为,对用邻接表表示的图进行任一种遍历时,其时间复杂度为o10 .从有
4、序表(12,18,30,43,56,78,82,95)中依次二分查找43和 56元素时,其查找长度分别为和-11.假定对长度n =144的线性表进行索引顺序查找,并假定每个子表的长度均为,则进行索引顺序查找的平均查找长度为,时间复杂度为-12.一棵B一树中的所有叶子结点均处在上。13.每次从无序表中顺序取出一个元素,把这插入到有序表中的适当位置,此种排序方法叫做排序;每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做排序。14.快速排序在乎均情况下的时间复杂度为,最坏情况下的时间复杂度为。三、运算题(每小题6 分,共 24分)1.假定一棵二叉树广义表表示为a(b(
5、c,d),c(,8),分别写出对它进行先序、1中序、后序和后序遍历的结果。先序:中序;后序:2.已知一个带权图的顶点集V和边集G分别为:V=0,1,2,3,4,5;E=(0,1)8,(0,2)5,(0,3)2,(1,5)6,(2,3)25,(2,4)13,(3,5)9,(4,5)10,则求出该图的最小生成树的权。最小生成树的权;3.假定一组记录的排序码为(46,7 9,5 6,38,40,8 4,5 0,42),则利用堆排序方法建立的初始堆为。4.有 7个带权结点,其权值分别为3,7,8,2,6,10,14,试以它们为叶子结点生成一棵哈夫曼树,求出该树的带权路径长度、高度、双分支结点数。带权路
6、径长度:高度:双分支结点数:。四、阅读算法,回答问题(每小题8分,共 16 分)1.V 01d A C(L i st&L)(I ni tL i st(L);I nse rtR e a r(L;25);I nse rtF ront(L,5 0);I nta L 4 =5,8,12,15,36;f or(i nti=0;i 5;i+)i f (a i%2=0)I nse rtF ront(L,a i );e l se l nse rtR e a r(L,a i );)该算法被调用执行后,得到的线性表L为:2.voi d A G(Q ue ue&Q)(I ni tQ ue ue(Q);i nta 5
7、 6,12,5,15,8;f or(i nt i=0;i 5;i+)Q l nse rt(Q,a i );Q I nse rt(Q,Q De l e te (Q);Q I nse rt(Q,20);Q I nse rt(Q,Q De l e te(Q)十 16);wh i l e(!Q ue ue E m pty(Q)c out Q De l e te (Q)”;)该算法被调用后得到的输出结果为:五、算法填空,在画有横线的地方填写合适的内容(每小题6分,共 12分)1.从一维数组A n)中二分查找关键字为K的元素的递归算法,若查找成功则返回对应元素的下标,否则返回一 1。I ntB i nsc
8、 h(E l e m T ype A ,I ntl ow,i nt h i g h,K e yT ype K)(i f (l ow d a ta=X)re turn 1;/根结点的层号为 1/向子树中查找x 结点e l se i nt c l=Nod e L e ve l (B T l e f t,X);i f(c l =l)re turn c l+1;i nt c 2=;i f-;/若树中不存在X结点则返回。e l se re turn 0;)六、编写算法(8 分)按所给函数声明编写一个算法,从表头指针为H L 的单链表中查找出具有最大值的结点,该最大值由函数返回,若单链表为空则中止运行。E
9、 l e m T ype M a xV a l ue(L N0d e*H L);“数据结构”期末考试试题答案一、单选题(每小题2 分,共 12分)评分标准;选对者得2 分,否则不得分。1.B 2.B 3.C 4.D 5.B 6.A二、填空题(每空1 分,共 28 分)1 .顺序结构 链接结构 索引结构 散列结构(次序无先后)2 .值(或d a t a)子表指针(或s u b l i s t)3 .3 x 2.4 5/6 一*十4 .一 1)/25 .5 1 86 .小于 大于(或大于等于)7 .向 上 堆顶8 .邻接矩阵 邻接表 边集数组(次序无先后)9.0(n2)0(e)1 0 .1 31
10、1 .1 3 0()1 2 .同一层1 3 .插人 选择1 4 .0(n l o g 2 n)0(n2)三、运算题(每小题6 分,共 2 4 分)1 .先序:a,b,c,d,e,f,e /2 分中序:c,b,d,a,f,8,e /2 分后序:c,d,b,e,f,e,a /2 分2 .最小生成树的权:3 1 /6分33.(84,79,56,42,40,46,50,38)/6 分4.带权路径长度:131/3 分高度:5/2 分双分支结点数:6/1 分四、阅读算法,回答问题(每小题8 分,共 16分)评分标准:每小题正确得8 分,出现一处错误扣4 分,两处及以上错误不得分。1.(36,12,8,50
11、,25,5,15)2.5 15 8 6 20 28五、算法填空,在画有横线的地方填写合适的内容(每小题6 分,共 12分)1.feturn mid/2 分returnBinsch(A,low,mid-1,K)/2 分returnBmsch(A,mid+1,high,K)/2 分2.NodeLevel(BT right,X)/3 分(c2=l)returnc2 十 1/3 分六、编写算法(8分)评分标准:请参考语句后的注释,或根据情况酌情给分。ElemType MaxValue(LNodeO*HL。)(if(HL=NU1L)/2 分cerr data;/3 分LN0de*p=HI next;/4
12、 分while(P!:NULL)/7 分i f(maxdata)max=p-data;p=p-next;)returnmax;/8 分一、单项选择题(本大题共15小题,第小题2分,共30分)在每小题列出的四个选项中只有一个符合题目要求,请将其代码填在题后的括号内。错选或未选均无分。1 .算 法 必 须 具 备 输 入、输 出 和 C A.计算方法 B.排序方法C.解决问题的有限运算步骤 D.程序设计方法2 .有n个 节 点 的 顺 序 表 中,算 法 的 时 间 复 杂 度 是0(1)的 操 作 是 A A.访问第i个 节 点(i W i W n)B.在第i个节点后插入一个新节点(i W i
13、W n)C.删除第i个 节 点(I W i W n)D,将n个节点从小到大排序43单链表的存储密度ICA.大 于 1B.等 于 1C.小 于 1D.不能确定4.设将整数1,2,3,4,5依次进栈,最后都出栈,出栈可以在任何时刻(只要栈不空)进行,则出栈序列不可能是A.23415B.54132C.23145D.154325.循环队列SQ 的存储空间是数组d m,队头、队尾指针分别是front和 re a r,则执行出队后其头指针front值是D A.front=front+lB.front=(front+l)%(m-l)C.front=(front-1 )%mD.front=(front+l)%
14、m6.在一个具有n 个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是B1A.O(l)B.0(n)C.0(n2)D.O(nlogn)7.设二维数组按行优先顺序存储,则 元 素 的 地 址 为B5A.L OC(A 0 0 )+(i*m+j)B.L O C(A 0 0)+(i*n+j)8.D9 A1 0.I D1 1 .C1 2.C1 3 .C.L O C(A 0 0)+(i-1 )*n+j-l D.L O C(A 0 0)+(i-1 )*m+j-l 一 个 非1空 广 义 表 的 表 头JA.一定是子表B.定是原子C.不能是子表D.可以是原子,也可以是子表具 有 n 个 节点的完全二
15、叉树的深度为1A.F l o g 2(n+1)1-1B.I o g 2 n+1C.l o g2nD.L l o g2n J若 要惟一地确定一棵二叉树,只 需 知 道该二叉 树 的A.前序序列B.中序序列C.前序和后序序列D.中序和后序序列在 一 个 无 向 图 中,所 有 顶 点 的 度 数 之 和 等 于 图 的 边 数 的 倍A.1/2B.1C.2D.4拓 扑 排1序 运 算 只 能 用 于1A.带权有向图B.连通无向图C.有向无环图D.无向图在 所 有 排 序 方 法 中,关 键 字 比 较 的 次 数 与 记 录 的 初 始 排 列 次 序 无 关 的 是DA.希尔排序B.冒泡排序6C
16、.插入排序 D.选择排序1 4.下 列 排 序 算 法 中 时 间 复 杂 度 不 受 数 据 初 始 状 态 影 响,恒 为0(一)的是CA.堆排序C.直接选择排序15二 分A A.有序、顺序存储C.无序、顺序存储B.冒泡排序D.快速排序查 找 要 求 节 点B.有序、链接存储D.无序、链接存储二、填空题(本大题共10小题,每小题2分,共20分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。16.数据的逻辑结构分为两大类,匕们是线性结构和 非线性结构 o17.在单链表中(假设结点指针域名称为n e x t),删除指针P所指结点的后继结点的语句是D-n e x t=p-n e
17、 x t-n e x t。18.已知循环队列用数组datan存储元素值,用front,rear分别作为头尾指针,则当前元素个数为(r e a r-f r o n t+n)%n。19.若n为主串长,m为子串长,则串的朴素匹配算法最坏的情况下需要比较字符的总次数为(n-m+1)X m。20.广义表(a),(b),j,(d)的表尾是(b).i,(d)_。21.已知二叉树有61个叶子节点,且仅有一个孩子的节点数为4 5,则总节点数为 16672 2.解决计算机与打印机之间速度不匹配问题,须要设置一个数据缓冲区,应 是 一 个 队列 结 构。23.n 个顶点e 条边的图采历 算 法 的 时 间 复 杂
18、度 为021414-6207252433184115用邻接表存储,深度优先遍O(n+e)2 4.对 于 n 个关键字的集合进行冒泡排序,在最坏情况下所需要的时间为 0 (r?)25.在一个长度为n 的顺序表中的第i 个 元 素(IWiWn)之前插入一个元素时,需向后移 n-i+1 个元素。三、解 答 题(本大题共4 小题,共 25分)26.对于下面的稀疏矩阵,画出其三元组法存储表示(假设下标从。开始)。(5 分)0 0 140 0 07 0 00 0 0I 0 15 00 0 00-6 00 0 2418 0 00 0 0答案:行号 列号012345值27.已知一棵二叉树的中序序列和后序序列分
19、别如卜,请画出该二叉树。(5 分)中序序列:DI GJ LKBAECHF后序序列:I LKJ GDBEHFCA答案:GH2 8.设有一个关键码的输入序列 5 5,3 1,1 1,3 7,4 6,7 3,6 3,0 2,0 7 ,(7分)(1)从空树开始构造平衡二叉搜索树,画出每加入一个新结点时二叉树的形态。若发生不平衡,指明需做的平衡旋转的类型及平衡旋转的结果。(3分)(2)计算该平衡二叉搜索树在等概率下的搜索成功的平均搜索长度和搜索不成功的平均搜索长度。(4分)【解答】(1)构造平衡二又搜索树的过程(2)计算在等概率下的搜索成功的平均搜索长度和搜索不成功的平均搜索卜度.ASLx =(1/9)
20、*(1 +2 *2 +3 *4 +4 *2)=2 5/9ASLg =(1/1)*(3*6 十 4/4)=1 7/5 2 9.已知个图的邻接表如下所示。(8分)(1)画出该图的图形;(4分)(2)根据邻接表分别画出从顶点a出发进行深度优先和广度优先遍历所生成的生成树。(4分)A9四、算法阅读题(本大题共3小题,每小题5分,共15分)30.设 线 性 表 的 n 个 结 点 定 义 为 在 顺 序 表 上 实 现 的 插 入 和 删 除 算 法 如 下,请在空白处填入适当内容。(顺序表的最大可容纳项数为MaxSize)Template int SeqList:Insert(Type&x,int i
21、)If(ilast+l II last=)return 0;Else Last+;For(int j=last;ji;j-)d a t a j =(2);(3)_;Return 1;)Template class Typo int seqList:Remove(Type&x)int i=Find(x);if(i=0)last-;for(int j=(4)return 1;jtop!=StackSize-1)s-data+s-top=x;)DataType Pop(SeqStack*s)10if(s-top!=-l)return s-datas-top-;)void main()(DataTyp
22、e i;SeqStack s;s.top=-l;scanfC%d,&i);while(i!=-l)(push(&s,i);scanf(cT,&i);)while(s-top!=-l)(i=Pop(&s);printf(“%6d”,i);答案:(1)程序的功能是把输入的审整 数(用 做 结 束 标 记),按照与输入相反的次序输出。用栈实现这一功能。(2)输 出 结 果 8765432 lo3 2.已知二叉树的存储结构为二叉链表,阅读下面算法。说明该算法的功能。Templateint BinaryTree:height(BinTreeNode*t)if(t=NULL)return-1;int hl
23、=height(t-leftChild);int hr=height(t-rightChild);return l+(hlhr?hl:hr);)答案:该算法的功能是统计二叉树的高度。五、算法设计题(本题 共10分)3 3.设一棵二叉树以二叉链表表示,试以成员函数形式编写有关二叉树的递归算法。(1)统计二叉树中度为1 的结点个数;(5 分)(2)统计二叉树中度为2 的结点个数。(5 分)(提示:递归算法如32题所示)解答:(1)统计二叉树中度为1 的结点个数。Tempi ateInt BinaryTree:Degree 1 (BinTreeNode*t)constIf(t=NULL)return
24、 0;1 1If(t-leftchild!=NULL&t-rightchild=NULL&t-rightchild!=NULL)Return 1 +Degree 1 (t-leftchild)+Degree l(t-rightchild);Return Degree 1 (t-leftchild)+Degreel(t-rightchild);t-leftchild=NULL(2)统计二叉树中度为2的结点个数。TemplateInt BinaryTree:Degree2(BinTreeNode*t)constIf(t=NULL)return 0;If(t-leftchild!=NULL&t-ri
25、ghtchild!=NULL)Return 1 +Degree2(t-leftchild)+Degree2(t-rightchild);Return Degree2(t-leftchild)+Degree2(t-rightchild);)“数据结构”期末考试试题一、单选题(每小题2 分,共 1 2 分)1 .在一个单链表H L 中,若要向表头插入一个由指针p 指向的结点,则执行()。A.H L=ps p 一 ne xt=H LB.p ne xt=H L;H L=p3C.p ne xt=H l;p=H L;D.p 一 ne xt=H L ne xt;H L 一 ne xt=p;2 .n 个 顶
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 期末考试 试题

限制150内