《2022年数据结构期末试卷六 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构期末试卷六 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、多练出技巧巧思出硕果数据结构试卷(六)一、选择题 (30 分) 1 设一组权值集合W=2,3,4,5,6,则由该权值集合构造的哈夫曼树中带权路径长度之和为() 。(A) 20 (B) 30 (C) 40 (D) 45 2执行一趟快速排序能够得到的序列是() 。(A) 41,12, 34,45,27 55 72 ,63 (B) 45,34, 12,41 55 72 ,63,27 (C) 63,12, 34,45,27 55 41,72 (D) 12,27,45,41 55 34 ,63,72 3设一条单链表的头指针变量为head 且该链表没有头结点,则其判空条件是() 。(A) head=0 (
2、B) head-next=0 (C) head-next=head (D) head!=0 4时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是() 。(A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序5设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是() 。(A) 空或只有一个结点(B) 高度等于其结点数(C) 任一结点无左孩子(D) 任一结点无右孩子6一趟排序结束后不一定能够选出一个元素放在其最终位置上的是() 。(A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序7设某棵三叉树中有40 个结点,则该三叉树的最小高度为() 。(A) 3 (
3、B) 4 (C) 5 (D) 6 8顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为() 。(A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og2n) 9二路归并排序的时间复杂度为() 。(A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n) 10. 深度为 k 的完全二叉树中最少有()个结点。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 5 页多练出技巧巧思出硕果(A) 2k-1-1 (B) 2k-1(C) 2k-1+1 (D) 2k-1 11.设指针变量fr
4、ont 表示链式队列的队头指针,指针变量rear 表示链式队列的队尾指针,指针变量 s 指向将要入队列的结点X,则入队列的操作序列为() 。(A) front-next=s ;front=s;(B) s-next=rear;rear=s;(C) rear-next=s;rear=s;(D) s-next=front ;front=s;12.设某无向图中有n 个顶点 e 条边,则建立该图邻接表的时间复杂度为() 。(A) O(n+e) (B) O(n2) (C) O(ne) (D) O(n3) 13.设某哈夫曼树中有199 个结点,则该哈夫曼树中有()个叶子结点。(A) 99 (B) 100 (
5、C) 101 (D) 102 14.设二叉排序树上有n 个结点,则在二叉排序树上查找结点的平均时间复杂度为() 。(A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n) 15.设用邻接矩阵A 表示有向图G 的存储结构,则有向图G 中顶点 i 的入度为() 。(A) 第 i 行非 0 元素的个数之和(B) 第 i 列非 0 元素的个数之和(C) 第 i 行 0 元素的个数之和(D) 第 i 列 0 元素的个数之和二、判断题 (20 分) 1调用一次深度优先遍历可以访问到图中的所有顶点。()2分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。()
6、3冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。()4满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。()5设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。()6层次遍历初始堆可以得到一个有序的序列。()7设一棵树T 可以转化成二叉树BT,则二叉树BT中一定没有右子树。 ()8线性表的顺序存储结构比链式存储结构更好。()9中序遍历二叉排序树可以得到一个有序的序列。()10.快速排序是排序算法中平均性能最好的一种排序。()三、填空题 (30 分) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 5 页多
7、练出技巧巧思出硕果1for(i=1 ,t=1,s=0;i=n;i+) t=t*i ; s=s+t;的时间复杂度为_。2设指针变量p 指向单链表中结点A,指针变量s指向被插入的新结点X,则进行插入操作的语句序列为_(设结点的指针域为next) 。3设有向图G 的二元组形式表示为G = (D,R) , D=1,2,3,4,5,R=r,r=, ,则给出该图的一种拓扑排序序列_。4设无向图G 中有 n 个顶点,则该无向图中每个顶点的度数最多是_。5 设二叉树中度数为0 的结点数为50, 度数为 1 的结点数为30, 则该二叉树中总共有_个结点数。6设F 和 R 分别表示顺序循环队列的头指针和尾指针,则
8、判断该循环队列为空的条件为_。7设二叉树中结点的两个指针域分别为lchild 和 rchild,则判断指针变量p 所指向的结点为叶子结点的条件是_ 。8简单选择排序和直接插入排序算法的平均时间复杂度为_。9快速排序算法的空间复杂度平均情况下为_,最坏的情况下为_。10.散列表中解决冲突的两种方法是_和_。四、算法设计题(20 分) 设计在顺序有序表中实现二分查找的算法。设计判断二叉树是否为二叉排序树的算法。在链式存储结构上设计直接插入排序算法数据结构试卷(六)参考答案一、选择题1D 2A 3A 4A 5 D 6D 7B 8A 9C 10B 11C 12A 13B 14D 15B 二、判断题精选
9、学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 5 页多练出技巧巧思出硕果1错2对3对4对5错6错7对8错9对10对三、填空题1.1.O(n) 2.2.s-next=p-next; p-next=s 3.3.(1,3,2,4,5) 4.4.n-1 5.5.129 6.6.F=R 7.7.p-lchild=0&p-rchild=0 8.8.O(n2) 9.9.O(nlog2n), O(n) 10.10.开放定址法,链地址法四、算法设计题1.1.设计在顺序有序表中实现二分查找的算法。struct record int key; int othe
10、rs; int bisearch(struct record r , int k) int low=0,mid,high=n-1; while(lowk) high=mid-1; else low=mid+1; return(0); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 5 页多练出技巧巧思出硕果2.2.设计判断二叉树是否为二叉排序树的算法。int minnum=-32768,flag=1; typedef struct nodeint key; struct node *lchild,*rchild;bitree; void
11、 inorder(bitree *bt) if (bt!=0) inorder(bt-lchild); if(minnumbt-key)flag=0; minnum=bt-key;inorder(bt-rchild); 3.3.在链式存储结构上设计直接插入排序算法void straightinsertsort(lklist *&head) lklist *s,*p,*q; int t; if (head=0 | head-next=0) return; else for(q=head,p=head-next;p!=0;p=q-next) for(s=head;s!=q-next;s=s-next) if (s-datap-data) break; if(s=q-next)q=p; elseq-next=p-next; p-next=s-next; s-next=p; t=p-data;p-data=s-data;s-data=t; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 5 页