版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、单项选择题(每小题2分,共30分)1. 数据结构中,与所使用的计算机无关的是数据的()结构。A. 逻辑 B. 物理 C. 存储 D.逻辑与物理2. 下述各类表中可以随机访问的是()。A.单向链表B. 双向链表 C. 单向循环链表 D.顺序表3. 在一个长度为n的顺序表中为了删除第5个元素,从前到后依次移动了15个元素。则原顺序表的长度为()。A. 21 B.20 C. 19 D. 254. 元素2,4,6按顺序依次进栈,则该栈的不可能的输出序列是()。A. 6 4 2 B. 6 2 4 C. 4 2 6 D. 2 6 45. 一个队列的入队序列是5,6,7,8,则队列的输出序列是()。A.
2、 5 6 7 8B. 8 7 6 5C. 7 8 6 5D.可能有多种情况6. 串函数 StrCmp (“d”,“D)的值为()。A . 0B. 1C . -1D. 37 .在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。A . p=q-nextB . p-next=qC. p-next=q-nextD . q-next=NULL8. 设一棵哈夫曼树共有n个非叶结点,则该树一共有()个结点。A. 2*n-1 B. 2*n +1 C. 2*nD. 2*( n-1)9. 对如图1所示二叉树进行中序遍历,结果是()。A. dfe
3、bagc B. defbagc C. defbacg D.dbaefcg图110 .任何一个无向连通图的最小生成树()。A.至少有一棵B.只有一棵C.一定有多棵D.可能不存在11. 设有一个10阶的对称矩阵 A,采用压缩存储的方式,将其下三角部分以行序为主 序存储到一维数组 B中(数组下标从1开始),则矩阵中元素 A8,5在一维数组B中的下标是 ( )A. 33B . 32C. 85D . 4112 . 一组记录的关键字序列为(37, 70, 47, 29, 31, 85),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为()A. 31, 29, 37, 85, 47, 70B.
4、29, 31, 37, 47, 70, 85C. 31, 29, 37, 70, 47, 85D. 31, 29, 37, 47, 70, 8513 .对n个元素进行冒泡排序,要求按升序排列,程序中设定某一趟冒泡没有出现元素交换,就结束排序过程。对某n个元素的排序共进行了3n-6次元素间的比较就完成了排序,则()A. 原序列是升序排列B. 原序列是降序排列C. 对序列只进行了 2趟冒泡D. 对序列只进行了 3趟冒泡14. 在一个栈顶指针为top的链栈中删除一个结点时,用x保存被删除的结点,应执行 ()A.x=top-data;top=top-n ext;B. top=top-next ; x=
5、top;C.x=top;top=top-n ext ; D. x=top-data;15. 串函数StrCat (a,b)的功能是进行串()A .比较B .复制C.赋值D .连接二、填空题(每小题2分,共24分)1 .在一个单向链表中p所指结点之后插入一个s所指的新结点,应执行 s-n ext=p-n ext ;禾口操作。2根据数据元素间关系的不同特性,通常可分为 、四类基本结构。3. 在一个链队中,设f和r分别为队头和队尾指针,则删除一个结点的操作为 (结点的指针域为n ext)4. 遍历二叉排序树可得到一个有序序列。5. 一棵有2n-1个结点的二叉树,其每一个非叶结点的度数都为2,则该树共
6、有 个叶结点。6. 如图1所示的二叉树,其中序遍历序列为。7. 对稀疏矩阵进行压缩存储,矩阵中每个非零元素所对应的三元组包括该元素的、禾廿三项信息。8 .有一个有序表2,3,9,13,33,42,45,63,74,77,82,95,110,用折半查找法查找值为82的结点,经次比较后查找成功。9 .图的深度优先搜索和广度优先搜索序列不是唯一的。此断言是 的。(回答正确或不正确)10. 哈希法既是一种存储方法,又是一种 。11 . 44.在对一组记录(55,39,97,22,16,73,65,47,88)进行直接插入排序时,当把第7个记录65插入到有序表时,为寻找插入位置需比较 次。12. 栈和队
7、列的操作特点分别是 和 。三、综合题(每小题 10分,共30分)1. 已知序列11,19,5,4,7, 13,2,10,(1) 试给出用归并排序法对该序列作升序排序时的每一趟的结果。(2) 对上述序列用堆排序的方法建立初始堆(要求小根堆,以二叉树描述建堆过程)。2. 设有序表为(13,19,25,36,48,51,63,84,91,116,135,200),元素的下 标依次为1,2,12.(1) 说出有哪几个元素需要经过3次元素间的比较才能成功查到(2) 画出对上述有序表进行折半查找所对应的判定树(树结点用下标表示)(3) 设查找元素5,需要进行多少次元素间的比较才能确定不能查到3.(1) 设
8、有查找表5,14,2,6,18,7,4,16,3,依次取表中数据,构造一棵二叉排序树(2) 说明如何通过序列的二叉排序树得到相应序列的排序结果,对上述二叉排序给出中序 遍历的结果四、程序填空题(每空2分,共16分)1. 以下冒泡法程序对存放在a1,a2,an中的序列进行冒泡排序,完成程序中的空格部分,其中n是元素个数,程序按升序排列。Void bsort (NODE a , i nt) NODE temp;int i,j,flag;for(j=1; (1);j+);flag=0;for(i=1;(2);i+)if(ai.keyai+1.key)flag=1; temp=ai;(3) ;(4)
9、;if(flag= =0)break;程序中flag 的功能是 7. 以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域为data,其数据类型为字符型,BT指向根结点)。Void Postorder (struct BTree Node *BT) if(BT!=NULL)(1);4(2)(3)试题答案;一、 单项选择题(每小题2分,共30分)I. A 2 . D 3 . B 4 . B 5. A 6 . C 7 . C 8 . B 9 . A 10 . AII. A 12 . D 13 . D 14 . A 15 . D二、填空
10、题(每小题 2分,共24分)1. p-n ext=s;2. 集合、线性、树形、图状3. f=f-next;4. 中序5. n6. dgbaechhif7. 行号、列号、元素值8.4次9.正确10 .查找方法11 . 3 次12 .先进后出先进先出三、综合题(每小题 10分,共30分)1 .(1)初始 11, 19, 5, 4, 7, 13, 2, 10第一趟11 , 194 , 57, 132 , 10第二趟4, 5, 11, 192 , 7, 10, 13第三趟2, 4, 5, 7, 10, 11, 13, 192.(1)13,36,63,13526(3) 3 次3.(1)521446183
11、716(2)中序遍历中序 2, 3, 4, 5, 6, 7, 14, 16, 18四、程序填空题(每空2分,共16 分)1.(1) j=n-1(2) inext= =head3 链表所具备的特点是(A.可以随机访问任一结点i 个结点及其前驱,则采用()存BD)。D.单循环链表)(设头指针为 head )。 head!=NULL head-next= =NULLC.插入删除元素的操作不需要移动元素结点4. 非空的单向循环链表的尾结点满足(A . p-next = =NULL B . p= =NULL5. 数据结构中,与所使用的计算机无关的是数据的(A .物理6. 算法的时间复杂度与(A .所使用
12、的计算机C.算法本身D占用连续的存储空间D 可以通过下标对链表进行直接访问 )(设头指针为 head, C p= =head D)结构。D指针 p 指向尾结点) 。 p-next= =headB .逻辑)有关。.计算机的操作系统.数据结构C 存储逻辑与物理7. 设有一个长度为n 的顺序表,要在第 i 个元素之前插入一个元素 新表的第 i 个元素),则移动元素个数为(A . n-i+1B8. 设有一个长度为A . n-i+1B9. 在一个单链表中,接后继,现要删除A . p=q-next B10. 在一个单链表中A . p=s next也就是插入元素作为)。D. i个元素需移动元素的个数为(D.
13、 i. n-iC. n-i-1n 的顺序表,要删除第 i. n-iC. n-i-1p、q 分别指向表中两个相邻的结点,且q 所指结点是 p 所指结点的直q 所指结点,可用的语句是()。)。. p-next=q C . q-next=NULL D . p-next=q-nextp 所指结点之后插入一个 s 所指的结点时,可执行()。B. pC. s next=p next; p11. 从一个栈顶指针为 top( )。A. x=top-data; top=topnext=s; D p的链栈中删除一个结点时,next=s next;next= s; s next= p next 用变量 x 保存被删
14、结点的植,则执行next; B x=top-data; top=top-next; x=data;C. top=top-next; x=top-data; D12. 在一个链队中,假设 f 和 r 分别为队头和队尾指针,则删除一个结点的运算为(A . r=f next; B . r=r next; C . f=f next; D . f=r next;)。13 .A在一个链队中,假设f和r分别为队头和队尾指针,则插入 s所指结点的运算为(.f-n ext=s; f=s; B . s-n ext=r;r=s; C . r-n ext=s;r=s; D.s-next=f;f=s;元素1 , 3,
15、5, 7按顺序依次进栈,则该栈的不可能输出序列是( 交替进行)。.7, 5, 3, 1C. 3, 1 , 7, 515 .设有一个 18储到一维数组 ( )。A. 1816 .在C语言中,A . 414.)(进栈出栈可以B . 7, 5, 1 , 3D. 1, 3, 5, 7阶的对称矩阵 A,采用压缩存储的方式,将其下三角部分以行序为主序存B中(数组下标从1开始),则矩阵中元素 a10,8在一维数组B中的下标是B. 45顺序存储长度为B. 3C . 53 D3的字符串,需要占用(C . 617 . 一棵有n个结点采用链式存储的二叉树中,共有(A . nB . n+1C18 .在一棵二叉树中,若
16、编号为i的结点存在左孩子,A . 2iB. 2i-1 C . 2i+1设一棵哈夫曼树共有n个叶结点,则该树有(.n B . 2n C . n-1 D . n+1一棵具有35个结点的完全二叉树,最后一层有(.4B. 6C.一棵完全二叉树共有.30B19 .A20 .A21 .A22 .A23 .24.58)个字节。.12)个指针域为空。D . n-2.n-1则左孩子的顺序编号为(D. 2i+2)个非叶结点。165层,且第5层上有六个结点,.20C. 21在一个无向图中,所有顶点的度数之和等于边数的(.3B. 2 C已知如图1所示的一个图,若从顶点 的一种顶点序列为(.abecdf B)个结点。D
17、该树共有(D)倍。.1.5.8)个结点。.23.2.5 Da出发,按深度优先搜索法进行遍历,则可能得到)。.acfebdC . aedfcbD. aebcfd已知如图3所示的一个图,若从顶点 一种顶点序列为(.VMVMVVjV?C. V1V2V4V8V3V5V6V7V出发,按广度优先法进行遍历,则可能得到的.V1V2V4V5V8V3V6V7.V1MVMV2V4V5V8Vi图325在有序表1 , 3, 8, 13, 33, 42, 46, 63, 76, 78, 86, 97, 100中,用折半查找值 86时,经()次比较后查找成功。A. 3 B 4C. 6 D 826 对二叉排序树进行()遍历
18、,可以使遍历所得到的序列是有序序列。A .按层次B .后序 C .中序 D .前序27. 有一个长度为12的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()。A. 37/12 B . 39/12 C . 41/12 D . 35/1228. 设已有m个元素有序,在未排好序的序列中挑选第m+1个元素,并且只经过一次元素的交换就使第m+1个元素排序到位,该方法是()。A .折半排序B.冒泡排序C.归并排序D.简单选择排序29. 一组记录的关键字序列为(46, 79, 56, 38, 40, 84),利用快速排序,以第一个关键 字为分割元素,经过一次划分后结果为()。A
19、. 40, 38, 46, 79, 56, 84B. 40, 38, 46, 84, 56, 79C. 40, 38, 46, 56, 79, 84D. 38, 40, 46, 56, 79, 8430. 一组记录的关键字序列为(47, 80, 57, 39, 41, 46),利用堆排序(堆顶元素是最小 元素)的方法建立的初始堆为()。A . 39, 47, 46, 80, 41, 57 B . 39, 41, 46, 80, 47, 57C. 41, 39, 46, 47, 57, 80 D . 39, 80, 46, 47, 41, 57二. 填空题1.把数据存储到计算机中,并具体体现数据
20、之间的逻辑结构称为 结构。2 .算法的5个特征为。3. 结构中的数据元素存在 的关系称为树形结构。4. 要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为 和 。5. 求两个n阶矩阵的乘积,算法的基本操作和时间复杂度分别为 和 一 。6. 在一个单向链表中 p所指结点之后插入一个s所指向的结点时,应执行 s-next=p-next;和的操作。7 .设有一个头指针为 head的单向循环链表,p指向链表中的结点,若p-next= = head,则p所指结点为。&在一个单向链表中,要删除p所指结点,已知q指向p所指结点的前驱结点。则可以用操作。9
21、.设有一个头指针为 head的单向链表,p指向表中某一个结点,且有p-next= =NULL,通过操作,就可使该单向链表构造成单向循环链表。10. 向一个栈顶指针为 h的链栈中插入一个 s所指结点时,可执行 s-next=h;和操作。(结点的指针域为next)11从一个栈顶指针为 h的链栈中删除一个结点时,用x保存被删结点的值,可执行禾口 h=h-next;(结点的指针域为 next)。12.在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为r-next=s;和 (结点的指针域为 next)。13 .在一个链队中,设 f和r分别为队头和队尾指针,则删除一个结点的操作为 。(结
22、点的指针域为n ext)14两个串相等的充分必要条件是。15.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的、禾廿三项信息。16在二叉树的链式存储结构中,通常每个结点中设置三个域,它们是、。17. 一棵有2n-1个结点的二叉树,其每一个非叶结点的度数都为2,则该树共有 个叶结点。18. 一棵二叉树中有 2n-2条边(结点间的连线),其中每一个非叶结点的度数都为2,则该树共有个非叶结点。19中序遍历二叉排序树可得到一个 。20.如图1所示的二叉树,其中序遍历序列为 。21如图1所示的二叉树,其先序遍历序列为 。22. 如图1所示的二叉树,其后序遍历序列为 。23. 如图2所示
23、的二叉树,其前序遍历序列为 。24 哈希函数是记录关键字值与该记录存储地址之间所构造的对应关系。25. 图的深度优先搜索和广度优先搜索序列不一定是唯一的。此断言是的。(回答正确或不正确)26. n个元素进行冒泡法排序,通常需要进行 趟冒泡,第j趟冒泡要进行 次元素间的比较。三、综合题1设一组记录的关键字序列为 ( 49,83,59,41,43,47),采用堆排序算法完成以下操作: (要求小根堆,并画出中间过程)(1)以二叉树描述 6 个元素的初始堆(2)以二叉树描述逐次取走堆顶元素后,经调整得到的5个元素、 4个元素的堆2已知序列 11 ,19,5,4,7,13,2,10(1)试给出用归并排序
24、法对该序列作升序排序时的每一趟的结果。( 2)对上述序列用堆排序的方法建立初始堆(要求小根堆,以二叉树描述建堆过程)。3一组记录的关键字序列为(46, 79,56,38, 40,84)(1)利用快速排序的方法,给出以第一个记录为基准得到的一次划分结果(给出逐次交换 元素的过程,要求以升序排列)(2)对上述序列用堆排序的方法建立大根堆,要求以二叉树逐次描述建堆过程。4. 设查找表为(7,15,21,22,40,58,68,80,88,89,120),元素的下标依次为1,2,3,11.(1 )画出对上述查找表进行折半查找所对应的判定树(树中结点用下标表示)(2) 说明成功查找到元素40 需要经过多
25、少次比较?(3)求在等概率条件下,成功查找的平均比较次数?5. 设查找表为 (16,15,20,53,64,7),(1 )用冒泡法对该表进行排序(要求升序排列),要求写出每一趟的排序过程,通常对 n 个元素进行冒泡排序要进行多少趟冒泡?第 j 趟要进行多少次元素间的比较?(2)在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树 . (要求以数据元素作为树结点 )(3)求在等概率条件下 ,对上述有序表成功查找的平均查找长度.6.(1 )如果二叉树中任一结点的值均大于其左孩子的值、 小于其右孩子的值, 则该树为二叉 排序树,这种说法是否正确?若认为正确,则回答正确,若认为不正确,则举例说
26、明。( 2 )设有数据集合 40, 29, 7, 73, 101, 4, 55, 2, 81, 92, 39 ,依次取集合中各数据, 构造一棵二叉排序树 .7.(1) 设有查找表 5,14,2,6,18,7,4,16,3, 依次取表中数据,构造一棵二叉排序树 .(2)说明如何由序列的二叉排序树得到相应序列的排序结果,对上述二叉排序给出中序遍历的结果 .8.(1)“一棵二叉树若它的根结点的值大于左子树所有结点的值,小于右子树所有结点的值, 则该树一定是二叉排序树” 。该说法是否正确,若认为正确,则回答正确,若认为不正确则 说明理由?(2)设有查找表 7, 16, 4, 8, 20, 9, 6,
27、18, 5,依次取表中数据构造一棵二叉排序树 . 对 上述二叉树给出后序遍历的结果 .9.(1)以 2, 3, 4, 7, 8, 9 作为叶结点的权,构造一棵哈夫曼树,给出相应权重值叶结点的 哈夫曼编码。(2)一棵哈夫曼树有 n 个叶结点,它一共有多少个结点?简述理由?1 0 . ( 1 )对给定权值 2, 1, 3, 3, 4, 5,构造哈夫曼树。(2)同样用上述权值构造另一棵哈夫曼树,使两棵哈夫曼树有不同的高度,并分别求 两棵树的带权路径长度。abcdehg11. 如图所示的二叉树(1) 给出中序遍历序列(2) 给出先序遍历序列(3) 给出后序遍历序列四、程序填空题1.以下冒泡法程序对存放
28、在a1, a2,an中的序列进行冒泡排序完成程序中的空格部分,其中n是元素个数,要求按升序排列。void bsort (NODE a , i nt n) NODE temp;int i,j,flag;for(j=1; ;j+);flag=0;for(i=1;i+)if(ai.keyai+1.key) flag=1;temp=ai;if(flag= =0)break;程序中flag的功能是2 以下是用尾插法建立带头结点且有n个结点的单向链表的程序,结点中的数据域从前向后依次为1,2,3,n,完成程序中空格部分。NODE *create (n)NODE *head , *p, *q;int i;p
29、=(NODE*)malloc(sizeof(NODE);head=;p next=NULL; /* 建立头结点 */for(i=1; idata=i;p- next=NULL;q-n ext= ;, return(head);3 .以下是用头插法建立带头结点且有n个结点的单向链表的程序,要求结点中的数据域从前向后依次为n,n-1, ,1,完成程序中空格部分。NODE *create2( n)NODE *head , *p, *q;int i;p=(NODE*)malloc(sizeof(NODE);p- next=NULL;head=;Ifor(i=1; idata=i;if(i= =1)p-
30、 next=NULL;elsep-n ext= ;q-n ext= ;return(head);4设线性表为(6, 10,16, 4),以下程序用说明结构变量的方法建立单向链表,并输出链 表中各结点中的数据。#defi ne NULL 0void mai n()NODE a,b,c,d,*head,*p;a. data=6;b. data=10;c. data=16;d. data=4; /*d 是尾结点 */head=;a. n ext=&b;b. n ext=&c;c. n ext=&d;/*以上结束建表过程*/p=head; /*p为工作指针,准备输出链表 */dopri ntf( %d
31、n ”,);while();5以下程序是先序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右 指针域分别为left和right,数据域data为字符型,BT指向根结点)。void Preorder (struct BTreeNode *BT) if(BT!=NULL)6以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右 指针域分别为left和right,数据域data为字符型,BT指向根结点)。void In order (struct BTreeNode *BT) if(BT!=NULL)7以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(
32、树结构中,左、 右指针域分别为left和right,数据域data为字符型,BT指向根结点)。void Postorder (struct BTreeNode *BT) if(BT!=NULL)8以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右 指针域分别为left和right,数据域data为字符型,BT指向根结点)。void In order (struct BTreeNode *BT)if(BT!=NULL)(1) ;(2) ;In order(BT-right);利用上述程序对右图进行遍历,结果是综合练习题答案 一、单项选择题1C 2 D 3 C 4 D 5
33、 B 6 C 7 A 8 B 9 D 10 C 11 A 12 C 13C 14 B 15 C 16 A 17 B 18 A 19 C 20 A 21 C 22 B 23 C 24 A 25 B 26 C 27 A 28 D 29 C 30 B 二、填空题1物理(存储)2 .有穷性、确定性、可行性、零个或多个输入、一个或多个输入 3树形4. n-1,O(n)5. 乘法, O(n3)6. s-next=p-next;7. head8. q-next=p-next;9. p-next=head;10. s-next=h;11. h=h-next;12. r-next=s;13. f=f-next;14. 串长度相等且对应位置的字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建漳州市经济发展集团有限公司招聘劳务派遣人员10人笔试参考题库附带答案详解
- 2025福建五建集团第一批招聘52人笔试参考题库附带答案详解
- 2025湖北恩施市福牛物业有限公司招聘湖北凯万项目管理有限公司工作人员1人笔试参考题库附带答案详解
- 2025浙江缙云县保安服务有限公司招聘国有企业项目用工10人笔试参考题库附带答案详解
- 2025浙江建德市数字信息有限责任公司招聘5人笔试参考题库附带答案详解
- 2026广东广州花都城投产融商业投资有限公司招聘项目用工人员4人笔试历年常考点试题专练附带答案详解
- 殡仪馆服务流程与规范化管理
- 中国电子科技集团公司第八研究所2026届校园招聘笔试历年常考点试题专练附带答案详解
- 长沙市2025湖南省社会科学院(省人民政府发展研究中心)招聘12人笔试历年参考题库典型考点附带答案详解
- 苏州市2025年江苏苏州昆山市事业单位公开招聘紧缺人才84人笔试历年参考题库典型考点附带答案详解
- 100MW200MWh锂电池储能电站安装施工技术方案
- 2026广东珠海市斗门区建设工程质量监督检测站招聘普通雇员3人备考题库及答案详解(网校专用)
- 2026年安检员(民航安全检查员)题库综合试卷附完整答案详解【有一套】
- 湖南省株洲市第十九中学2026届中考数学模拟预测题含解析
- 海信电视质量管理
- 2026年济南历城区九年级中考数学一模考试试题(含答案)
- 校服采购评价反馈制度
- 欧美影视赏析-星际穿越
- 2025年电工考试试题及答案详解
- 【初中历史】2025-2026学年统编版八年级下册历史新教材课本习题与答案
- 2025-2026统编版二年级语文下册第四单元素养达标(A卷)(含答案)
评论
0/150
提交评论