数据结构复习题.docx
- 文档编号:25000370
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:12
- 大小:52.25KB
数据结构复习题.docx
《数据结构复习题.docx》由会员分享,可在线阅读,更多相关《数据结构复习题.docx(12页珍藏版)》请在冰豆网上搜索。
数据结构复习题
“数据结构”复习题
选择题:
1、与顺序表相比,用链表表示线性表的优点是(B)。
A.便于随机存取B.便于元素的插入和删除操作
C.存储的密度较高D.元素的物理顺序与逻辑顺序一致
2、以下数据结构中,(B)是线性结构。
A.无向网B.队列C.二叉检索树D.有向无环
3、在长度为n的顺序表中,向第k个元素(1≤k≤n+1)之前插入一个新元素时,需向后移动(B)个元素。
A.n-1B.n-k+1C.n-k-1D.k
4、在长度为n的顺序表中,删除第k个元素(1≤k≤n+1)时,需向前移动(C)个元素。
A.n-1B.n-k+1C.n-kD.k
5、与顺序栈相比,链栈的主要优点在于(C)。
A.入栈操作更加方便B.出栈操作更加方便
C.通常不会出现栈满D.通常不会出现栈空
6、用大小为n的一维数组S存储一个栈,令S[n-1]为栈底,变量top表示当前栈顶的位置(下标),即S[top]为栈顶元素。
则,元素出栈后top应做如下(A)的修改。
A.top--;B.top++;
C.top=n-1;D.top=-1;
7、以链表作为栈的存储结构,令Sp为栈顶指针,栈空的判定条件是(A)。
A.Sp==NULLB.Sp>=-1
C.Sp!
=NULLD.SP!
=-1
8、在一个单链表中,若要删除指针p所指向结点的后继结点,则需执行(A)中的语句。
A.p->next=p->next->next;
B.p=p->next;p->next=p->next->next;
C.p=p->next->next;
D.p->next=p;
9、设栈S和队列Q的初始状态为空,元素a1,a2,a3,a4,a5,a6先后进入栈S,一个元素出栈后即进入队列Q,若6个元素的出队顺序是a2,a4,a3,a6,a5,a1,则栈S至少可以容纳(A)个元素。
A.3B.4C.5D.6
10、若进栈序列为a1、a2、a3、a4,进栈过程允许出栈,则下列出栈序列中,(D)是不可能的。
A.a1、a3、a4、a2B.a2、a4、a3、a1
C.a3、a4、a2、a1D.a1、a4、a2、a3
11、设有一个大小为m的数组表示循环队列,若f表示当前队头元素在数组中的前一位置,r表示队尾元素的所在位置,则计算队列中元素个数的表达式为(D)。
A.r-fB.(m-f-r)%m
C.(m+f-r)%mD.(m+r-f)%m
12、在大小为n的循环队列中,假定front指示队头的位置,rear指示队尾的后一位置,则判定队空的条件是(C)。
A.rear==n-1B.(front+1)%n==rear
C.front==rearD.front==(rear+1)%n
13、深度为7的二叉树至多有(A)个结点。
A.127B.255C.128D.256
14、n个结点的二叉树,其最小深度是(A)。
A.log2n+1B.log2nC.n/2D.n
15、设二叉树中任一结点的值大于其左子树中每个结点的值,而小于其右子树中每个结点的值,即它是一个二叉排序树。
则中序遍历该二叉树时,访问结点的序列是一个值(B)的序列。
A.递减B.递增
C.先递减后递增D.先递增后递减
16、以顺序存储方式将完全二叉树中的所有结点逐层存放于数组A中,结点A[i]若有左孩子,则结点(A)是其左孩子。
A.A[2*i]B.A[2*i+1]C.A[2*i+2]D.A[i/2]
17、由3个结点可以构成(A)棵形态不同的树,或构成(D)棵形态不同的二叉树。
A.2B.3C.4D.5
18、在下列存储形式中,(D)不适合于树。
A.双亲表示法B.孩子链表表示法
C.孩子兄弟表示法D.顺序存储表示法
19、某二叉树如图所示,对该二叉树进行中序遍历,结点的访问序列为(C)。
A.1,2,3,4,5,6,7
B.1,2,4,6,3,5,7
C.2,6,4,1,5,7,3
D.6,4,2,1,3,5,7
20、某二叉树如图所示,对该二叉树进行先序遍历的结点序列为(B)。
A.1,2,3,4,5,6,7
B.1,2,4,6,7,3,5
C.2,6,4,7,1,5,3
D.6,7,4,2,5,3,1
21、有n个顶点的无向完全图中,具有(A)条边。
A.n(n-1)/2B.n(n-1)C.n(n+1)/2D.n2
22、对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵中元素的个数为(D)。
A.nB.(n-1)2
C.(n+1)2D.n2
23、对图所示的无向图G,从顶点①开始,广度优先遍历,可能的顶点访问顺序为(B)。
A.①,②,③,④,⑤,⑥,⑦,⑧
B.①,②,⑥,③,④,⑦,⑧,⑤
C.①,②,⑥,③,④,⑤,⑦,⑧
D.①,②,③,⑤,④,⑥,⑦,⑧
24、对上一题的图G,从顶点①开始,深度优先遍历,则可能的顶点访问顺序为(D)。
A.①,②,③,④,⑤,⑥,⑦,⑧
B.①,②,⑥,③,④,⑦,⑧,⑤
C.①,②,⑥,③,④,⑤,⑦,⑧
D.①,②,③,⑤,④,⑥,⑦,⑧
25、有向图G有n个顶点,其邻接矩阵为A(二维数组),G中第k个顶点的度为(C)。
A.
B.
C.
D.
+
26、采用顺序检索的方法检索长度为n的顺序表,检索每个元素的平均比较次数(即平均检索长度)为(C)。
A.nB.n/2C.(n+1)/2D.(n-1)/2
27、设检索表(a1,a2,a3,...,a32)中有32条记录,且已按关键字递增有序排列,采用二分法检索一个与给定的键值K相等的记录,若a1.key A.3B.4C.5D.6 28、哈希检索的基本思想是依据关键字值的简单换算来决定(A)。 A.记录的存储地址B.记录的序号 C.平均检索长度D.哈希表空间 29、设有一个用线性探测法解决冲突得到的哈希表(哈希函数: H(key)=key%11): 012345678910 13 25 80 16 17 6 14 若要检索关键字值为14的记录,探测(比较)的次数是(C)。 B A.1B.6C.7D.8 30、设计一个用线性探测法解决冲突的哈希表(哈希函数: H(key)=key%17),其地址区间为0..16,现将关键字值分别为26、25、72、38、8、18、59的记录依次存储到哈希表中。 关键字值为59的记录在哈希表中的地址(下标)是(D)。 A.8B.9C.10D.11 31、用直接插入排序法对下面4个序列进行递增(由小到大)排序,元素比较次数和移动次数最少的是(C)。 A.94,32,40,90,80,46,21,69B.32,40,21,46,69,94,90,80 C.21,32,46,40,80,69,90,94D.90,69,80,46,21,32,94,40 32、对10个记录的序列: 48,37,65,93,72,16,27,50,9,53进行排序,若采用快速排序,一趟分割之后序列的次序是(B)。 A.37,48,65,93,16,72,27,50,9,53B.9,37,27,16,48,72,93,50,65,53 C.37,48,65,16,72,27,50,9,53,93D.16,27,50,9,53,48,37,65,93,72 33、以下排序算法中,时间复杂度最高的是(A)。 A.希尔排序B.归并排序C.快速排序D.堆排序 34、以下排序算法中,需要附加的内存空间最大的是(C)。 A.插入排序B.选择排序C.快速排序D.归并排序 判断题: 1.线性表的链式存储结构优于顺序存储结构。 () 2.一个n维数组可视为其数据元素为n-1维数组的线性表。 () 3.空栈就是所有数据元素都是0的栈。 (X) 4.邻接表只能用于有向图的存储。 (X) 5.散列检索的平均检索长度为1。 () 6.对n个记录的集合进行快速排序,所需的平均时间是O(nlog2n)。 () 7.堆排序所需额外的记录辅助空间与待排序的记录个数无关。 () 8.完全二叉树的顺序存储结构中,数据元素的存储顺序是其先序遍历的次序。 (X) 9.栈和队列都是顺序存储的线性结构。 (X) 10.以邻接矩阵表示图中顶点间的关系时,其所需空间与边或弧的数量有关。 (X) 11.对n个记录进行归并排序所需额外的记录存储空间是O(log2n)。 (X) 12.栈的特性是“后进先出”。 () 13对二叉检索树进行先序遍历的序列是个递增或递减有序的序列。 (X) 14.当待排序的数据元素个数很大时,为交换元素的位置,移动元素将耗用较多的时间,这是影响时间复杂度的主要因素。 () 15.在顺序表中删除某个数据元素时,元素移动的次数与该元素的位置无关。 (X) 16.带权图的最小生成树是唯一的。 (X)权可能相等 17.孩子-兄弟链表存储的树的先序遍历序列与其对应的二叉树的先序序列不同。 (X) 18.不使用递归,也能实现二叉树的先序、中序和后序遍历。 () 19.二叉检索树的平均检索长度是log2(n+1)-1。 (X) 20.链式存储结构中的每个结点都包含一个指针。 (X) 21.邻接矩阵为对称矩阵的图一定是无向图。 () 22.n个叶子结点带权路径长度总和最小的唯一二叉树是最优二叉树。 (X) 填空题: 1.在一个单链表中,在指针p所指结点之后插入指针s所指结点,应执行 s->next=p->next;和p->next=s;语句。 2.栈是实现递归函数调用的数据结构;队列是打印数据缓冲区的数据结构。 3.具有n个顶点的图的生成树中含有n-1条边。 4.对于n个顶点e条边的无向图,其邻接表中有n个顶点。 5.n个结点的循环队列的头指针front指示队头的下标,尾指针rear指向队尾之后的下标,则判定队列为空的条件是rear=front,判定队列满的条件是(rear+1)%n,入队后尾指针应计为(rear+1)%n,出队后头指针应计为(front+1)%n,计算队长的表达式是(rear-front+n)%n。 6.对线性序列(18,25,63,50,42,32,90)散列存储,若选用H(key)=key%9作为散列函数,则元素18的同义词有2个,元素90的检索长度是3。 7.一个深度为h的完全二叉树最多有2^h-1个结点,最少有2^(h-1)个结点。 8.树的三种常用存储结构是双亲表示法、孩子链表表示法和孩子兄弟链表表示法。 9.二叉树第i层上最多有2^(i-1)个结点,最少有1个结点。 10.n个结点的二叉链表中,有n+1个空指针。 11.排序算法中重复的基本操作是比较和移动。 12.设有二维数组A[9][19],其每个元素占用一个内存单元,数组以列为主序存储,第一个元素的地址为100,那么元素A[6][6]的存储地址是160。 13.32个结点的二叉树中有10个叶子结点,则该二叉树中有13个1度结点和9个2度结点。 14.n个记录的顺序检索表的平均检索长度是(n+1)/2。 15.二叉树的遍历有先根序、中根序、和后根序。 16.遍历图的邻接矩阵第i行可以统计第i个顶点的出度,遍历第i列可以统计第i个顶点的入度。 17.散列表检索方法的平均检索长度与记录的个数n无关。 18.栈中的最后一个数据元素称为栈顶,队列中的第一个数据元素称为队首。 19.将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动的排序方法称为交换排序。 20.一个连通图的连通分量有1个。 应用题: 1.试分别画出下面二叉树的二叉链表和静态二叉链表。 2.有向图G如图所示,顶点的次序依次为A,B,C,D,E,试写出该图的邻接矩阵和邻接表。 3.已知顺序表中存储的序列{19,14,22,1,66,21,83,27,56,13},将元素按其在表中的次序依次插入到一棵初始为空的二叉排序树中,画出插入完成后的二叉排序树,并计算在等概率的情形下,在该二叉排序树上成功检索的平均检索长度。 4.已知一棵二叉树的先序遍历序列为ABCDEFGH,中序遍历序列为CBEDAHGF,试画出该二叉树。 5.无向图G的顶点依次为a、b、c、d和e,其邻接矩阵如下,试画出该图。 6.有一个如右所示的无向连通图,顶点存储次序为a,b,c,d,e,f,g,h。 (20分) ⑴从顶点a出发,采用深度优先搜索,画出所得该图的深度优先生成树; ⑵从顶点a出发,采用广度深度优先搜索,画出该图的广度优先生成树; ⑶采用Prim算法,画出其求解最小生成树的每一步骤; ⑷采用Kruscal算法,画出其求解最小生成树的每一步骤。 7.已知某通讯电文中仅使用A、B、C、D、E等5中符号,且这些符号在电文中分别出现27、14、5、76、21次,试以这5个符号设计(画出)哈夫曼树,并写出其哈夫曼编码。 编程题: 1.有一个带头结点的单链表,已知指向头结点的指针hp,试写出在元素值为a的结点(假设该结点存在)之后插入元素值为b的结点(该结点未建立)的算法过程。 结点类型node已经定义,含有存放元素的data域(elemtp类型)和指向后继结点的指针域next。 2.以二叉链表为存储结构,写出求二叉树中叶子结点数的算法的递归函数。 3.以链地址法处理冲突建立开散列表,设散列函数为: H(key)=key%13。 试编写在此开散列表上实现动态检索(即,给定记录键值K,若检索成功则返回结点地址;否则以拉链法插入新结点,并返回新结点的地址)算法的函数。 设同义词单链表结点的数据类型定义如下: typedefstructnode {elemtpdata;//记录 keytpkey;//关键字 structnode*next;//后继指针 }listnode; 4.设计算法并分析其最坏时间复杂度: 找出大小为n的数组A中最大的数。 设元素类型为int。 5.有一个不带头结点的单链表,指向第一元素结点的指针为hp,试编写计算单链表长度(结点个数)算法函数。 假设,已定义单链表的结点类型node,它含有存放元素的data域和指向后继结点的指针域next。 6.编写一个统计二叉树结点数目的程序,二叉树以二叉链表存储。 7.某散列表采用除留余数法构造,散列函数为: H(key)=key%4096。 若以二次探测法处理冲突,编写一个涉及插入新记录的动态查找函数。 需要预先定义查找表的数据类型。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习题