数据结构与算法试卷

合集下载

数据结构与算法 模拟试卷三四及参考答案

数据结构与算法 模拟试卷三四及参考答案
模拟试卷三
一、单选题(每题2分,共20分)
1.对一个算法的评价,不包括如下()方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度
2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;
二、填空题(每空1分,共26分)
1.联系图(或图结构)
2.尾首
3.top==0
4.O(1)O(n)
5.128 44 108
6.3 3
7. 有序n-1
8.有序序列后缀表达式(或逆波兰式)
9.2n n-1 n+1
10.2i+1 2i+2 (i-1)/2
11.开放定址法链接法
12.快速归并
三、运算题(每题6分,共24分)
A. 2 3 1B.321
C.312D. 12 3
5.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图
6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突B.高于链接法处理冲突
C.与链接法处理冲突相同D.高于二分查找
7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
C. p->next=HL; p=HL;D. HL=p; p->next=HL;
3.对线性表,在下列哪种情况下应当采用链表表示?( )
A.经常需要随机地存取元素B.经常需要进行插入和删除操作
C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变
4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( )

数据结构与算法试卷

数据结构与算法试卷

一、填空题(每空2分,共12分)1. 数据结构被形式地定义为(D, R ),其中D 是数据元素的有限集合,R 是D上的__数据元素之间的关系______ 有限集合。

2.向一个长度为n 的线性表中删除第i 个元素(1≤i ≤n)时,需向前移动___n-i_____个元素。

3. 假设以S 和X 代表进栈和出栈操作,则对输入序列a,b,c,d,e 进行一系列操作SSXSXSSXXX 之后,得到的输出序列为___bceda_____。

4. 已知循环队列的存储空间为数组A[21],front 指向队头元素的前一个位置,rear 指向队尾元素,假设front 和rear 的值分别为8和3,则该队列的长度为___16_____。

5.在有序表A[0…17]中,采用折半查找法查找关键字等于A[7]的元素,需比较元素的下标依次为 8 3 5 6 7 。

6. 在堆排序、快速排序和归并排序方法中,稳定的排序方法是 归并排序 。

二、单项选择题(每小题2分,共40分)1. 数据结构中,与所使用的计算机无关的是数据的( C )结构。

A.存储B. 物理C. 逻辑D.物理和存储2. 算法分析的两个主要方面是( A )A. 空间复杂性和时间复杂性B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性3.在n 个结点的顺序表中,算法的时间复杂度是O (1)的操作是( A )A.访问第i 个结点(1≤i ≤n )和求第i 个结点的直接前驱(2≤i ≤n )B.在第i 个结点后插入一个新结点(1≤i ≤n )C.删除第i 个结点(1≤i ≤n )D. 将n 个结点从小到大排序 4. 线性表L在( B )情况下适用于使用链式结构实现。

A.需经常修改L中的结点值B.需不断对L进行删除插入C.L中含有大量的结点D.L中结点结构复杂 5. 经过以下栈运算后,x 的值是( A )InitStack(s); Push(s, 'a');Push(s, 'b');Pop(s,x);GetTop(s,x); A.a B.b C.1 D.06. 循环队列存储在数组A[0…m]中,则入队时的操作为( D )。

国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)

国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)

国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.算法具有五个特性,以下选项中不属于算法特性的是A.有穷性B.简洁性C.可行性D.确定性正确答案:B解析:算法的五个特性分别是:有穷性、可行性、确定性、输入和输出。

知识模块:数据结构与算法2.算法的有穷性是指A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用正确答案:A解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

知识模块:数据结构与算法3.算法的时间复杂度是指A.算法的执行时间B.算法所处理的数据最C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数正确答案:D解析:算法的时间复杂度,是指执行算法所需要的计算工作量。

算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。

知识模块:数据结构与算法4.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该仔储器芯片的存储容量为A.1kbB.2kbC.4kbD.8kb正确答案:A解析:10根地址线,每根地址线有0和1两种情况,地址范围就是2的10次方=1024=1K。

知识模块:数据结构与算法5.磁盘处于写保护状态时其中的数据A.不能读出,不能删改B.可以读出,不能删改C.不能读出,可以删改D.可以读出,可以删改正确答案:B解析:磁盘处于写保护状态时其中的数据可以读出来,但是不能修改和删除。

知识模块:数据结构与算法6.在Windows环境下,单击当前窗口中的按钮“”,其功能是A.讲当前应用程序转为后台运行B.退Windows后再关机C.终止当前应用程序的运行D.退出Windows后重新启动计算机正确答案:C解析:在Windows中,单击窗口中的按钮“”表示关闭当前运行的程序。

知识模块:数据结构与算法7.下列描述中正确的是A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对正确答案:D解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。

国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)

国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)

国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。

这属于算法的A.正当性B.可行性C.确定性D.有穷性正确答案:C解析:本题考查算法的基本特征。

算法的可行性表示算法中执行的任何步骤都是可以被分解为基本的可执行的操作步:确定性是指算法的每一步骤必须有确切的含义;有穷性是指算法必须能在执行有限个步骤之后终止。

知识模块:数据结构与算法2.下列叙述中正确的是A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对正确答案:D解析:所谓算法是指解题方案的准确而完整的描述。

是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。

算法不等于程序,也不等于计算方法。

设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

知识模块:数据结构与算法3.下列叙述中正确的是A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关正确答案:B解析:算法的时间复杂度是指执行算法所需要的计算工作量。

算法的工作量用算法所执行的基本运算的次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

算法的时间复杂度与空间复杂度并不相关。

数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系,是独立于计算机的;数据的存储结构是研究数据元素和数据元素之问的关系如何在计算机中表示,它们并非一一对应。

算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。

知识模块:数据结构与算法4.在DOS环境F,代表键盘和显示器的设备文件名为A.PRNB.CONC.NULD.LPT正确答案:B解析:本题考查DOS下面的虚拟设备文件,选项A)的PRN表示打印机,选项B)中的CON表示键盘或屏幕,选项C)的NUL表示虚拟空设备,选项D)的LPT表示并口。

数据结构与算法试卷自考

数据结构与算法试卷自考

数据结构与算法试卷自考一、单选题(每题3分,共30分)1. 在数据结构中,从逻辑上可以把数据结构分成()。

A. 动态结构和静态结构。

B. 紧凑结构和非紧凑结构。

C. 线性结构和非线性结构。

D. 内部结构和外部结构。

2. 线性表的顺序存储结构是一种()的存储结构。

A. 随机存取。

B. 顺序存取。

C. 索引存取。

D. 散列存取。

3. 栈和队列的共同特点是()。

A. 都是先进后出。

B. 都是先进先出。

C. 只允许在端点处插入和删除元素。

D. 没有共同点。

4. 对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是()。

A. n.B. (n - 1)^2.C. n - 1.D. n^2.5. 下面关于二叉树的叙述正确的是()。

A. 一棵二叉树中叶子结点的个数等于度为2的结点个数加1。

B. 二叉树中不存在度大于2的结点。

C. 二叉树的度为2。

D. 二叉树的度为0或1。

6. 具有n个结点的完全二叉树的深度为()。

A. ⌊log₂n⌋ + 1.B. ⌈log₂n⌉ + 1.C. ⌊log₂n⌋.D. ⌈log₂n⌉.7. 对线性表进行二分查找时,要求线性表必须()。

A. 以顺序方式存储。

B. 以链式方式存储。

C. 以顺序方式存储,且结点按关键字有序排列。

D. 以链式方式存储,且结点按关键字有序排列。

8. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()。

A. 希尔排序。

B. 冒泡排序。

C. 插入排序。

D. 选择排序。

9. 快速排序在()情况下最不利于发挥其长处。

A. 待排序的数据量太大。

B. 待排序的数据中含有多个相同值。

C. 待排序的数据已基本有序。

D. 待排序的数据数量为奇数。

10. 算法的时间复杂度取决于()。

A. 问题的规模。

B. 待处理数据的初态。

C. 计算机的配置。

D. A和B。

二、填空题(每题3分,共30分)1. 数据的逻辑结构有四种基本类型:集合结构、______结构、树形结构和图状结构。

《数据结构与算法》试卷

《数据结构与算法》试卷

一、选择题1.下列哪种数据结构适合用于实现优先队列?A.栈B.队列C.二叉堆(正确答案)D.链表2.在进行图的深度优先搜索(DFS)时,使用哪种数据结构可以帮助记录已访问过的顶点,从而避免重复访问?A.栈B.队列C.集合(正确答案)D.哈希表3.下列排序算法中,哪种算法的时间复杂度在最坏情况下为O(n2),但在平均情况下和最好情况下可以达到O(nlogn)?A.快速排序(正确答案)B.归并排序C.堆排序D.插入排序4.在二叉树的遍历中,前序遍历的顺序是?A.根节点-> 左子树-> 右子树(正确答案)B.左子树-> 根节点-> 右子树C.左子树-> 右子树-> 根节点D.根节点-> 右子树-> 左子树5.下列哪种查找算法在有序数组中查找特定元素时,具有最优的时间复杂度O(logn)?A.顺序查找B.二分查找(正确答案)C.插值查找D.斐波那契查找6.在哈希表中,处理哈希冲突的一种常见方法是?A.开放寻址法(正确答案)B.链地址法C.再哈希法D.以上都是7.下列关于二叉搜索树(BST)的说法中,哪一项是正确的?A.在BST中,每个节点的左子树只包含小于该节点的数B.在BST中,每个节点的右子树只包含大于该节点的数C.在BST中,每个节点的左子树只包含小于该节点的数,右子树只包含大于该节点的数(正确答案)D.BST中不允许有重复值的节点8.下列哪种算法是解决最短路径问题的经典算法,适用于带权重的图?A.迪杰斯特拉算法(Dijkstra)(正确答案)B.弗洛伊德算法(Floyd)C.贝尔曼-福特算法(Bellman-Ford)D.A*算法(A-star)。

2022年湘南学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年湘南学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年湘南学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、n个结点的完全有向图含有边的数目()。

A.n*nB.n(n+1)C.n/2D.n*(n-1)2、将线性表的数据元素进行扩充,允许带结构的线性表是()。

A.串B.树C.广义表D.栈3、线性表的顺序存储结构是一种()。

A.随机存取的存储结构B.顺序存取的存储结构C.索引存取的存储结构D.Hash存取的存储结构4、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。

A.543612B.453126C.346521D.2341565、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。

A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改6、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是()。

7、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。

假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。

初始时为空,下列判断队空和队满的条件中,正确的是()。

A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)8、有n(n>0)个分支结点的满二叉树的深度是()。

A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)9、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。

数据结构与算法 模拟试卷七、八及参考答案

数据结构与算法 模拟试卷七、八及参考答案

模拟试卷七一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。

每小题1分,共10分)1.假设执行语句S的时间为O(1),则执行下列程序段for(i=1;i<=n;i++)for(j=i;j<=n;j++)S;的时间为( )A)O(n)B)O(n2)C)O(n*i)D)O(n+i)2.设栈最大长度为3,入栈序列为1,2,3,4,5,6,则不可能的出栈序列是()。

A)1,2,3,4,5,6 B)2,1,3,4,5,6C)3,4,2,1,5,6 D)4,3,2,1,5,63.设单链表的结点结构为(data,next),已知指针q所指结点是指针p所指结点的直接前驱,如在*q与*p之间插入结点*s,则应执行的操作为()。

A)s->next=p->next; p->next=s; B)q->next=s; s->next=p;C)p->next=s-next; s->next=p; D)p->next=s; s-next=q;4.串S='ABC DEF'的串长为()。

A)3 B)4C)7 D)85.下面二叉树按()遍历得到的序列是FEDBIHGCA。

A)先序B)中序C)后序D)层次6.用Floyd算法求每一对顶点之间的最短路径的时间复杂度为()。

A)O(n) B)O(n2)C)O(n3) D)O(nlogn)7.具有n个顶点的无向图,它可能具有的边数的最大值为()。

A)(n2+n)/2 B)n2C)(n2-n)/2 D)n8.二分查找法要求被查找的表是()。

A)顺序表B)链接表C)顺序表且是按值递增或递减次序排列D)不受上述的任何限制9.在一待散列存储的线性表(18,25,63,50,42,32,90),若选用h(k)=k % 7作为散列函数,则与元素18冲突的元素有( )个。

A)0 B)1C)2 D)310.在下列排序算法中,不稳定的是()。

数据结构与算法练习试卷6(题后含答案及解析)

数据结构与算法练习试卷6(题后含答案及解析)

数据结构与算法练习试卷6(题后含答案及解析) 题型有:1. 选择题选择题(每小题1分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.一棵具有5层的完全二叉树中,结点总数最少是( )。

A.15B.5C.16D.31正确答案:C解析:具有5层的树结点最少的是完全二叉树,第5层只有一个结点,其他4层是由满二叉树构成。

知识模块:数据结构与算法2.设n、m为一棵二叉树上的两个结点,在中序遍历时,若n在m的前面,则( )。

A.n为树的左子树上的结点,m为右子树上的结点B.n是m的祖先结点C.n的层次比m层次高D.n在m的左方正确答案:D 涉及知识点:数据结构与算法3.对于深度为n,结点数为k,有m个叶子结点的满二叉树,下列关系正确的是( )。

A.k=m+nB.k=-2”-1C.n+m=2kD.re=k-1正确答案:B 涉及知识点:数据结构与算法4.快速排序方法在( )条件下最不利于发挥其长处。

A.待排序序列中含有多个相同关键字B.待排序序列数据基本有序C.待排序序列数据量很大D.待排序序列元素个数为奇数正确答案:C 涉及知识点:数据结构与算法5.在每一趟排序时,都将待排序序列中最大关键字选出来,并将此关键字从待排序序列中删除,继续对剩余元素进行同样操作的排序方法称之为( )。

A.快速排序B.堆排序C.起泡捧序D.选择排序正确答案:C 涉及知识点:数据结构与算法6.设有1000个无序的元素,希望用最快的方式挑选出其中前10个最大元素,效率最高的排序方法是( )。

A.堆排序B.快速排序C.基数排序D.起泡排序正确答案:A 涉及知识点:数据结构与算法7.设哈希表长m=14,哈希函数H(key)=key%ll,表中已经有4个结点:addr(13)=4;addr(28)=5 addr(51)=6;addr(77)=7 如果用线性探测再与散列法处理冲突,关键字为49的结点地址为( )。

数据结构与算法设计与分析考核试卷

数据结构与算法设计与分析考核试卷
答案:______
8.在冒泡排序中,每一趟排序都能确定一个元素的最终位置。()
答案:______
9. Prim算法和Kruskal算法都可以用来求解最小生成树问题,但Prim算法总是从某一顶点开始,而Kruskal算法总是从某一权值最小的边开始。()
答案:______
10.在一个递归算法中,如果递归调用不是算法的最后一个操作,那么这种递归称为尾递归。()
B.邻接表适合表示稀疏图
C.邻接多重表适合表示无向图
D.邻接表和邻接多重表适合表示有向图
14.以下哪些算法属于分治算法?()
A.快速排序
B.归并排序
C.二分查找
D.动态规划
15.以下哪些情况下,动态规划比贪心算法更适合解决问题?()
A.存在重叠子问题
B.问题具有最优子结构
C.需要考虑所有可能的选择
D.问题可以通过局部最优达到全局最优
C.插入一个节点
D.查找某个节点
5.以下哪些算法可以用于解决最小生成树问题?()
A. Kruskal算法
B. Prim算法
C. Dijkstra算法
D. Bellman-Ford算法
6.以下哪些数据结构可以用来实现堆?()
A.数组
B.链表
C.栈
D.队列
7.关于图的深度优先遍历和广度优先遍历,以下哪些说法是正确的?()
________________________________
2.动态规划算法通常用于解决最优化问题,请阐述动态规划算法的三个基本要素,并给出一个动态规划问题的实例。
________________________________
________________________________

数据结构与算法试卷及答案8

数据结构与算法试卷及答案8

广州大学学年第学期考试卷课程数据结构与算法考试形式(闭卷,考试)信息学院系专业级班学号:姓名:一、填空题:(每格2分,共20分)1.以{5,6,8,10,15}作为叶子结点的权值所构造的哈夫曼树的带权路径长度是。

2.判断一个无向图是一棵树的条件是。

3.设n0为哈夫曼树的叶子结点数目,则该哈夫曼树共有个结点。

4.一个无序序列可以通过构造一棵树而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。

5.如果结点A有 3个兄弟,而且B是A的双亲,则B的度是。

6.设有向图有n个顶点和e条边,进行拓扑排序时,总的时间复杂度为7.在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的恰当位置,该排序方法叫。

8.用一维数组存放的一棵完全二叉树;ABCDEFGHIJKL。

后序遍历该二叉树的访问结点序列是。

9.设散列函数H(k)=K mod 7,散列表的地址空间为0—6,则关键字为32的元素在哈希表中的下标为。

10.一棵非空二叉树的先序序列和后序序列正好相反,则树的形状是。

二、单项选择题(每题1分,共10分)1.()设一个栈的输入序列是1,2,3,4,5 则下列序列中,是栈的合法输出序列的是:A. 5 1 2 3 4B. 4 5 1 3 2C. 4 3 1 2 5D. 3 2 1 5 42.()在图采用邻接表存储时,求最小生成树的prim 算法的时间复杂度为A. O(n)B. O(n+e)C. O(n2)D. O(n3)3.()下列排序算法中,哪种算法不能保证每趟排序至少能将一个元素放到其最终的位置上?A.快速排序B. shell排序C. 堆排序D. 冒泡排序4.()一棵非空的二叉排序树在先序线索化后,其中值为空的链域的个数是:A.不确定B. 0C. 1D. 25()对于线性表最常用的操作是查找指定序号的元素和在末尾插入元素,则选择哪种最节省时间?A.顺序表 B. 单链表C带头接点的双循环链表D带尾接点的单循环链表6()求解最短路径的Floyd算发的时间复杂度为:A.O(n) B. O(n+c) C. O(n2) D. O(n3)7()数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算发中哪种算法的两趟排序后的结果?A.选择排序 B 冒泡排序 C 插入排序 D 堆排序8()下列序列中,哪个是堆?A.(100,80,55,60,50,40,58,35,20)B.(100,80,55,60,50,40,35,58,20)C.(100,80,55,58,50,40,60,35,20)D.(100,70,55,60,50,40,58,35,20)9()一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:A.不确定 B 0 C 1 D 210()算术表达式A+B*(C+D/E)转为后缀表达式后为:A:AB+CDE/*B:ABCDE/+*+C:ABCDE/*++D:ABCDE*/++三、判断题(在括号内填上“√”或“╳”,每题1分,共10分,做错不倒扣)1.()线性表的特点是每个元素都有一个前驱和一个后继。

2022年滁州学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年滁州学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年滁州学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。

A.快速排序B.堆排序C.归并排序D.直接插入排序2、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。

A.插入B.选择C.希尔D.二路归并3、静态链表中指针表示的是()。

A.下一元素的地址B.内存储器的地址C.下一元素在数组中的位置D.左链或右链指向的元素的地址4、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l5、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>, <V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。

A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V76、下列选项中,不能构成折半查找中关键字比较序列的是()。

A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4507、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。

A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,198、有关二叉树下列说法正确的是()。

数据结构与算法试卷及答案7

数据结构与算法试卷及答案7

广州大学学年第学期考试卷课程数据结构与算法考试形式(闭卷,考试)信息学院系专业级班学号:姓名:一、填空题:(每格2分,共20分)1.已知二叉树的中序遍历序列为B,H,D,C,E,F,A,G,后遍历序列为H,D,F,E,C,B,G,A,其前序遍历列为。

2.若一个非连通的无向图最多有21条边,则该无向图至少有个顶点。

3.若具有n个顶点的无向连通图采用邻接矩阵表示,则邻接矩阵中至少有________个非零元素。

4.若从无向图的任意一个顶点出发进行一次深度优先搜索便可以访问该图的所有顶点,则该图一定是一个________________图。

5.将数据元素2,4,6,8,10,12,14,16,18,20依次存放于一个一维数组中(设该数组第一个元素的下标为1),然后采用折半查找元素15,被比较过的数组元素的下标依次为_____________。

6.顺序查找法,折半查找法,树形查找法和散列查找法这四种方法中,只有_____________________的平均查找长度与元素的个数n无关。

7.设无向连通图G的顶点数与边数和一立方体相同,即有8个顶点和12条边。

任意一棵G的生成树共有________________条边8.字符串’abcd’中共有________________个长度大于0小于4的子串。

9.将字符数组a[0..7,0..7]按行优先次序存储在起始地址为1000的连续的内存单元中,则元素a[6,2]的地址是:__________________________ 10.已知某带权连通无向图采用邻接矩阵存储方式,邻接矩阵以三元组表形式给出,部包括主对角线元素在内的下三角形部分元素对应的各三元组分别为(2,1,7),(3,1,6),(3,2,8),(4,1,9)(4,2,4),(4,3,6),(5,1,∞),(5,2,4),(5,3,∞),(5,4,2)。

该连通图的最小生成树的权值之和是 。

二、单项选择题(每题1分,共10分)1. ( )堆排序的时间复杂度和需附加的存储空间分别是: A O(n 2) 和O(1) B O(nlog 2n) 和O(1) C O(nlog 2n)和O(n) D O(n 2)和O(n)2.( )最佳二叉排序数的结构特点是:A 除最下两层可以不满外,其余都是满的B 除最下一层可以不满外,其余都是满的C 每个结点的左右子树的高度之差的绝对值不大于1D 最下层的叶子结点必须在最左边3.( )设计一个判别表达式中左、右括号是否配对出现的算法,采用什么数据结构最佳? A 、线性表的顺序存储结构 B 、队列C 、线性表的链式存储结构D 、栈4.( )线索二叉树是一种什么结构? A 逻辑 B 逻辑和存储 C 物理 D 线性 5.( )下列排序中,哪个是堆? A .(100,80,55,60,50,40,58,35,20)B .(100,80,55,60,50,40,35,58,20)C .(100,80,55,58,50,40,60,35,20)D .(100,70,55,60,50,40,58,35,20)6.( )若某完全二叉树的深度为h (设单结点的树的深度为1),则该完全二叉树中至少有几个结点?A .2hB .21h -C .21h +D .12h -7.( )在二叉排序树中进行查找的时间效率与什么有关?A .二叉排序树的深度B .二叉排序树的结点的个数C .被查找结点的度D .二叉排序树的存储结构8. ( )若二叉树中度为2的结点有15个,度为1的结点有10个,则该二叉树有几个结点?A.41 B.31 C.25 D.309.()只能在顺序存储结构上才能实现的查找方法是哪种?A.顺序查找B.树型查找C.折半查找D.散列查找10.()从未排序序列中任选一个元素,该元素将未排序序列分成前后两个部分,前一部分中所有元素均小于所选元素,而后一部分中所有元素均大于等于所选元素,所选元素处在排序的最终位置,分别对被分成的两部分中元素个数超过1的部分重复上述过程,直至整个排序结束。

数据结构与算法设计试卷

数据结构与算法设计试卷

数据结构与算法设计试卷(答案见尾页)一、选择题1. 数据结构中,下列哪种数据结构的插入和删除操作时间复杂度最低?A. 栈B. 队列C. 数组D. 链表2. 在二叉树的遍历方法中,哪种方法可以访问所有节点且时间复杂度为O(n)?A. 前序遍历B. 中序遍历C. 后序遍历D. 层次遍历3. 常用的排序算法中,哪种算法是基于比较的排序算法,并且时间复杂度为O(n log n)?A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序4. 在图的存储结构中,邻接矩阵适合表示哪种类型的图?A. 稀疏图B. 密集图C. 有向无环图D. 无向无环图5. 动态规划算法用于解决哪种类型的问题?A. 数值计算问题B. 字符串匹配问题C. 图论问题D. 机器学习问题6. 在最短路径问题中,Dijkstra算法和Floyd算法分别适用于哪种类型的图?A. 有权图和无权图B. 无权图和有权图C. 有向图和无向图D. 无向图和有权图7. 快速排序算法中,基准元素的选择对算法性能有何影响?A. 基准元素的选择不影响算法性能B. 基准元素选择不当会导致算法性能下降C. 基准元素选择得当可以提高算法性能D. 基准元素的选择与算法性能无关8. 在链表中,单向链表的每个节点包含哪些部分?A. 数据域和指针域B. 数据域和指针头C. 数据域和指针尾D. 数据域和指针尾9. 在栈的实现中,后进先出(LIFO)原则是如何体现的?A. 先进入栈的元素总是最先被移除B. 先进入栈的元素总是最后被移除C. 后进入栈的元素总是最先被移除D. 后进入栈的元素总是最后被移除10. 哈希表(Hash Table)的主要优点是什么?A. 查找速度快,插入和删除操作较慢B. 查找速度较慢,插入和删除操作较快C. 查找速度较快,插入和删除操作也较快D. 查找速度较慢,插入和删除操作也较慢11. 在最坏情况下,下列哪种排序算法的时间复杂度为O(n^)?A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序12. 在二叉树的遍历方法中,先序遍历的特点是?A. 先访问根节点,然后遍历左子树,最后遍历右子树B. 先访问左子树,然后访问根节点,最后遍历右子树C. 先访问左子树,然后访问右子树,最后访问根节点D. 先访问右子树,然后访问左子树,最后访问根节点13. 常用的查找算法中,哈希表的查找效率最高,其平均查找时间复杂度为?A. O(1)B. O(log n)C. O(n)D. O(n log n)14. 下列哪种数据结构适用于表示稀疏线性表?A. 数组B. 链表C. 栈D. 队列15. 最短路径问题在图论中的研究内容是?A. 路径长度B. 路径上的节点序列C. 最短路径的长度及路径上的节点序列D. 最短路径的权重16. 快速排序算法是基于什么思想进行递归划分的?A. 分治法B. 动态规划C. 贪心算法D. 回溯算法17. 在图的遍历算法中,普里姆算法用于寻找?A. 所有顶点的最短路径B. 两个顶点之间的最短路径C. 一棵树的中序遍历D. 一棵树的前序遍历18. 下列哪种数据结构可以实现队列的先进先出(FIFO)特性?A. 栈B. 队列C. 数组D. 链表19. 在深度优先搜索算法中,哪种策略用于访问所有可能的路径?A. 沿着边遍历B. 沿着对角线遍历C. 沿着某一特定方向遍历D. 沿着任意方向遍历20. 在图的遍历算法中,普里姆算法用于求解什么问题?A. 最小生成树B. 最短路径C. 连通性D. 网络流21. 哈希表的冲突解决策略中,链地址法适用于哪种情况?A. 哈希函数值分布均匀B. 哈希函数值分布不均匀C. 存储的元素数量较大D. 存储的元素数量较小22. 在快速排序算法中,基准元素的选择对算法性能有何影响?A. 基准元素选择不合适会导致排序效率降低B. 基准元素选择不合适会导致排序效率提高C. 基准元素选择对算法性能没有影响D. 基准元素选择与算法性能无关23. 在二叉树的遍历算法中,先序遍历、中序遍历和后序遍历分别适用于哪些类型的树?A. 充分不平衡的二叉树B. 充分平衡的二叉树C. 不充分平衡的二叉树D. 完全不平衡的二叉树24. 在贪心算法中,贪心选择性质如何帮助求解问题?A. 贪心选择性质使得每次选择都能立即带来全局最优解B. 贪心选择性质使得每次选择都能减少后续问题的规模C. 贪心选择性质使得每次选择都能增加后续问题的规模D. 贪心选择性质使得每次选择都能保持问题的原有规模25. 在动态规划算法中,状态转移方程如何描述问题的解决过程?A. 状态转移方程描述了问题状态之间的转移过程B. 状态转移方程描述了问题状态之间的变换过程C. 状态转移方程描述了问题状态之间的依赖关系D. 状态转移方程描述了问题状态之间的组合关系26. 在下列哪种数据结构中,元素之间的逻辑关系可以通过指针直接访问?A. 数组B. 链表C. 栈D. 队列27. 下列哪种排序算法的平均时间复杂度为O(n^)?A. 快速排序B. 归并排序C. 堆排序D. 插入排序28. 在图论中,表示图中节点间有向边的图形是?A. 无向图B. 有向图C. 网络图D. 树29. 在树的遍历算法中,先序遍历、中序遍历和后序遍历分别指的是什么?A. 先访问根节点,再遍历左子树,最后遍历右子树B. 先访问左子树,再访问根节点,最后遍历右子树C. 先访问左子树,再遍历右子树,最后访问根节点D. 先访问根节点,再遍历右子树,最后遍历左子树30. 在图的存储结构中,邻接矩阵和邻接表分别适用于哪种情况?A. 小型图和大中型图B. 大中型图和小型图C. 都适用于大型图D. 都适用于小型图31. 在动态规划算法中,解决最短路径问题常用的算法是?A. 贝尔曼-福特算法B. 弗洛伊德-沃沙尔算法C. 克鲁斯卡尔算法D. 普里姆算法32. 在贪心算法中,贪心选择性质是指什么?A. 每一步都选择局部最优解,整个问题就最优B. 每一步都选择全局最优解,整个问题就最优C. 每一步都选择当前最优解,整个问题就最优D. 每一步都选择历史最优解,整个问题就最优33. 在搜索算法中,广度优先搜索(BFS)和深度优先搜索(DFS)有何不同?A. BFS从根节点开始,逐层扩展;DFS从任意节点开始,深入探索B. BFS从任意节点开始,逐层扩展;DFS从根节点开始,深入探索C. BFS只搜索浅层节点,DFS可能搜索深层的叶子节点D. BFS只搜索浅层节点,DFS可能搜索深层的叶子节点34. 在图论中,强连通分量是指什么?A. 图中任意两个顶点之间都有路径相连B. 图中任意三个顶点之间都有路径相连C. 图中存在一个顶点集合,使得每个顶点都与另一个顶点直接相连D. 图中存在一个顶点集合,使得每个顶点都与另一个顶点循环相连35. 在下列哪种数据结构中,元素之间的关系可以通过指针直接访问?A. 数组B. 链表C. 栈D. 队列36. 在排序算法中,稳定性意味着什么?A. 相同值的元素在排序后相对顺序不变B. 不相邻的元素在排序后相对顺序不变C. 相邻的元素在排序后相对顺序不变D. 所有元素的相对顺序都不变37. 下列哪种排序算法是递归的?A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序38. 在图的存储结构中,邻接矩阵更适合表示哪种类型的图?A. 小型图B. 大型图C. 稀疏图D. 密集图二、问答题1. 什么是递归?请举例说明递归在计算机科学中的应用。

数据结构期末试卷_含答案

数据结构期末试卷_含答案

三、程序填空题(本题共、链式表表示和实现线性表的部分程序如下,请在程序空白处填上适当的语句://线性表的单链表存储结构typedef struct LNode{线 订 装数据结构与算法A卷答案一、选择题:(本题共20小题,每题2分,共40分)1-5:CA、DBCC 6-10:BDDAB 11-15:AABBA 16-20:CCCBC二、分析运算题(本题共5小题,每题6分,共30 分)1、解答:(1)选链式存储结构。

它可以动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除的时间复杂性为O(1);(2)选顺序存储结构。

顺序表可以随机存取,时间复杂性为O(1)。

2.CBADECBAEDCBEDACBDAECBDEA每对一个得1分,全对得6分,写错一个倒扣1分。

3.(3分)先序遍历序列:+-A/×BCD/EF (3分)4.(3分)后序遍历序列为:BHECIGFA D (3分)(1)(2分)(2)(2分)(3)(2分)三、程序填空题(本题共10空,每空2分,共20分)(1)p = L(2)p->next(3)p->next=q->next(4)free(q)(5)NULL或=NULL(6)printf(“%c”,BT->data)(7)Inorder(BT->right)(8) Push(S, exp[i]) 或 Push(S,‘(’)(9) GetTop(S)= ='('(10) Pop(S,e)四、算法设计题(本题共1小题,共10分)1、(10分)算法如下:答:void quickpass(sqlist r){int i=0; j=r.length-1; x=r.elem[0];while(i<j){while(i<j && r.elem[j]>x) j=j-1;if(i<j){r.elem[i]=r.elem[j];i=i+1;} while(i<j && r.elem[i]<x) i=i+1;if(i<j){r.elem[j]=r.elem[i];j=j-1;} }r.elem[i]=x;}。

《数据结构与算法》试卷与答案3

《数据结构与算法》试卷与答案3

广州大学学年第学期考试卷课程数据结构与算法考试形式(闭卷,考试)信息学院系专业级班学号:姓名:一、填空题:(每格2分,共20分)1.在双向循环链表中,设指针p指向待删除的结点,则删除结点p需执行的语句为_________________ 。

2.由a, b, c三个结点构成的二叉树,共有种不同的结构。

3.设根结点处在第一层,那么具有n个结点的完全二叉树,其高度为。

4.克鲁斯卡尔的时间复杂度为;它对图较为适合。

5.给定表(55,63,44,38,75,80,31,56),用筛选法建立初始堆,则初始堆表为。

6.已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数为。

7.已知8个数据元素由(35,75,40,15,20,55,95,65)按照依次插入结点的方法生成一棵二叉排序树后,最后两层上的结点总数为8.假设有n个关键字,它们具有相同的Hash函数值,用线性探测方法解决冲突,把这n个关键字散列到大小为n的地址空间中,共计需要做次插入和探测操作。

9.如果含n个顶点的图形成一个环,则它有颗生成树。

10.对有17个元素的有序表A[1..17]作二分查找,在查找其等于A[8]的元素时,被比较的元素的下标依次是。

二、单项选择题(每题1分,共10分)1.()线性表采用链式存储时,其地址是()A.必须是连续的B.一定是不连续的C.部分地址必须是连续的D.连续与否均可以2.()串的逻辑结构与()的逻辑结构不同A.线性表B.栈C.队列D.树3.()设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为A.3,2,5,6,4,1B.1,5,4,6,2,3C.2,4,3,5,1,6D.4,5,3,6,2,14.()设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每元素占一个存储空间,则a85的地址为A.13B.33C.18D.405.()二叉树在线索化后,仍不能有效求解的问题是A.前(先)序线索二叉树中求前(先)序后继;B.中序线索二叉树中求中序后继;C.中序线索二叉树中求中序前趋;D.后序线索二叉树中求后序后继。

数据结构与算法练习试卷3

数据结构与算法练习试卷3

数据结构与算法练习试卷3(总分:56.00,做题时间:90分钟)一、选择题(总题数:27,分数:56.00)1.选择题()下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

__________________________________________________________________________________________ 解析:2.以下关于顺序存储结构的叙述中,哪一条是不正确的?______。

(分数:2.00)A.存储密度大B.逻辑上相邻的节点物理上不必邻接√C.可以通过计算直接确定第i个节点的存储地址D.插入、删除运算操作不方便解析:3.单键表的每个节点中包括一个指针link,它指向该节点的后继节点。

现要将指针q指向的新节点插入到指针p指向的单链表节点之后,下面的操作序列中哪一个是正确的?______。

(分数:2.00)A.q:=p^.link;p^.link:=q^.link;B.p^.link:=q^.link;q:=p^.link;C.q^.link:=p^.link;p^.link:=q;√D.p^.link:=q;q^.link:=p^.link;解析:4.设有下三角矩阵A[0..10,0..10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放的基地址为100,则元素A[5,5]的存放地址为______。

(分数:2.00)A.110B.120C.130D.140 √解析:5.栈S最多能容纳4个元素。

现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪一个序列不是可能的出栈序列? ______。

(分数:2.00)A.A、D、E、C、B、FB.A、F、E、D、C、B √C.C、B、E、D、A、FD.C、D、B、F、E、A解析:6.霍夫曼算法可以用于______。

(分数:2.00)A.动态存储管理B.表达式求值C.数据通信的二进制编码√D.城市间的交通网设计解析:7.设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟完成后关键码 33被放到了第几个位置?______。

算法与数据结构试卷

算法与数据结构试卷

单项选择题1若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b,c的不同排列个数为( )A.4B.5C.6D.72为查找某一特定单词在文本中出现的位置,可应用的串运算是( )A.插入B.删除C.串联接D.子串定位3三维数组A[4][5][6]按行优先存储方法存储在内存中,若每个元素占2个存储单元,且数组中第一个元素的存储地址为120,则元素A[3][4][5]的存储地址为( )A.356B.358C.360D.3624下列陈述中正确的是( )A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中必有度为2的结点D.二叉树中最多只有两棵子树,并且有左右之分5.n个顶点的有向完全图中含有向边的数目最多为( )A.n-1B.nC.n(n-1)/2D.n(n-1)6下面程序段的时间复杂度是( )for(i=0;i<n;i++)for(j=1;j<m;j++)A[i][j]=1;A.O(n)B.O(m+n+1)C.O(m+n)D.O(m*n)7在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( ) A.p=p->next; B.p->next=p->next->next;C.p->next=p;D.p=p->next->next;8一棵含18个结点的二叉树的高度至少为( )A.3B.4C.5D.69.无向图中一个顶点的度是指图中( )A.通过该顶点的简单路径数B.与该顶点相邻接的顶点数C.通过该顶点的回路数D.与该顶点连通的顶点数10已知一个有向图如右所示,则从顶点a出发进行深度优先偏历,不可能得到的DFS序列为( )A.a d b e f cB.a d c e f bC.a d c b f eD.a d e f c b11.某二叉树的先序序列和后序序列正好相同,则该二叉树一定是( )的二叉树。

A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子12.某带头结点的单链表的头指针为head,判定该链表为非空的条件是( )A.head==NULLB.head->next==NULLC.head!=NULLD.head->next!=NULL13.快速排序算法在最好情况下的时间复杂度为( )A. O(n)B. O(nlog2n)C. O(n2)D. O(log2n)14.队列操作的原则是( )A.先进先出B.后进先出C.只能进行插入D.只能进行删除15.有64个结点的完全二叉树的深度为( )(根的层次为1)。

《数据结构与算法》试卷与答案

《数据结构与算法》试卷与答案

广州大学学年第学期考试卷课程数据结构与算法考试形式(闭卷,考试)信息学院系专业级班学号:姓名:一、填空题:(每空2分,共20分)1.在拓扑排序中,拓扑序列的第一个顶点必定是的顶点。

2. 由四个分别带权值为5, 12, 9, 30, 7, 16的叶子结点构造一棵哈夫曼树,该树的结点个数为,树的带权路径长度为。

3.对表长为n的顺序表进行分块查找,若以顺序查找确定块,且每块长度为s,则在等概率查找的情况下,查找成功时的平均查找长度为。

4.如果结点A有3个兄弟,而且B是A的双亲,则B的度是5.一个无序序列可以通过构造一棵树而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。

6.设有向图有n个顶点和e条边,进行拓扑排序时,总的计算时间为7. 求从某源点到其余各顶点的Dijkstra算法,当图的顶点数为10,用邻接矩阵表示图时计算时间约为10ms,则当图的顶点数为40时,计算时间为ms 8. 设一棵后序线索树的高度是50,结点x是树中的一个结点,其双亲是结点y,y的右子树高度是31,x是y的左孩子,则确定x的后继最多需经过个中间结点(不含后继及x本身)9.对于单向链表,在两个结点之间插入一个新结点时需修改的指针共有个。

二、单项选择题(每题1分,共10分)1. ( ) 假设以数组A[m..n]存放循环队列的元素,其头指针是front,当前队列有k个元素,则队列的尾指针为()A.(front+k) mod (n-m+1)B.(m+k) mod n + frontC.(front-m+k) mod (n-m+1) +mD.(front-m+k) mod (n-m+1)2. ( ) 若用冒泡排序对关键字序列{20, 17, 11, 8, 6, 2} 从小到大进行排列, 则需要交换的总次数为( )A. 3B. 6C. 12D. 153. ( ) 具有842个结点的完全三叉树,其叶子结点共有()个A. 421B. 422C.420D.423E.以上都不是4.()顺序查找方法适用于存储结构为()的线性表A. 压缩存储B. 散列存储C. 顺序存储D. 链式存储E 以上都不是5.()以下序列不是堆的是()A.(100,85,98,77,80,60,82,40,20,10,66)B. (100,98,85,82,80,77,66,60,40,20,10)C.(10,20,40,60,66,77,80,82,85,98,100)D.(100,85,40,77,80,60,66,98,82,10,20)6.()如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的查找方法是()A.分块查找 B. 顺序查找 C. 折半查找 D. 基于属性7. ()一棵有n个结点的二叉树,按层次从上到下,同一层从左到右的顺序存储在一维数组A[1...n]中,则二叉树中第i个结点(i从1开始用上述方法编号)的右孩子在数组A中的位置是()A. A[2i] (2i<=n)B.A[2i+1] (2i+1<=n)C. A[i/2]D.条件不充分,无法确定8.()有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,则应选择下面哪个序列输入()A. 45,24,53,12,37,96,30B. 37,24,12,30,53,45,96C. 12,24,30,37,45,53,96D. 30,24,12,37,45,96,539.( )在有向图G的拓扑序列中,若顶点V i在顶点V j之前,则下列情形不可能出现的是( )A. G中有弧<V i,V j>B.G中有一条从V i到V j的路径C. G中没有弧<V i,V j>D. G中有一条从V j到V i的路径10. ( )设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( )A. m-nB. m-n-1C. n+1D. 条件不足,无法确定三、判断题(在括号内填上“√”或“╳”,每题1分,共10分,做错不倒扣)1 ()数据对象就是一组数据元素的集合。

2022年华中农业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年华中农业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年华中农业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下列说法不正确的是()。

A.图的遍历是从给定的源点出发每个顶点仅被访问一次B.遍历的基本方法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程2、用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为()。

A.j=r[j].nextB.j=j+lC.j=j->nextD.j=r[j]->next3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。

A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、下面关于串的叙述中,不正确的是()。

A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储6、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是()。

7、下列关于无向连通图特性的叙述中,正确的是()。

Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ8、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

A.107B.108C.214D.2159、一个具有1025个结点的二叉树的高h为()。

A.11B.10C.11至1025之间D.10至1024之间10、就平均性能而言,目前最好的内排序方法是()排序法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(A) Improve the basic operations. (B) Minimize the number of disk accesses.(C) Sorting the data of file. (D) Reduce main memory use.(7) In the following sorting algorithms, which is the best one to find the first 10 biggest elements in the 1000 unsorted elements? ( D )(A) Insert sort. (B) Shell sort.(C) Quicksort. (D) Heap sort.(8) Given an array as A[m][n]. Supposed that A[0][0]is located at 544(10) and A[2][2]is stored at 576(10), and every element occupies one space. “” means that the number is presented in decimals. Then the element(10)A[3][3]is at position:(10)( A )(A) 592 (B) 595 (C) 550 (D) 608(10) Assume that we have eight records, with key values A to H, and thatthey are initially placed in alphabetical order. Now, consider the result of applying the following access pattern: F D F G E G F A D FG E if the list is organized by the Move-to-front heuristic, then thefinal list will be ( B ).(A)F G D E A B C H (B) E G F D A B C H(C) A B F D G E C H (D) E G F A C B D H(9) Which queries supported by both of the hashing and tree indexing method?( D )(A) Range queries. (B) Queries in key order(C) Minimum or maximum queries (D). Exact-match queries2. Fill the blank with correct C++ codes: (20 scores)(1)Given an array storing integers ordered by distinct value without duplicate,modify the binary search routines to return the position of the integer with the largest value less than K when K itself does not appear in the array. Return ERROR if the least value in the array is greater than K: (12 scores)(4 scores)(3) The number of different shapes of binary trees with 6 nodes is _132_.(4 scores)3. Show an acceptable topological sort to a series of jobs with some prerequisites showed as following figure. (4 scores)J1, J3, J2, J6, J4, J5, J74. Show the min-heap that results from running buildheap on the following values stored in an array: 4, 2, 5, 8, 3, 6, 10, 14. (6 scores)5. Trace by hand the execution of Radix-sort algorithm on the array : int a[] = {265 301 751 129 937 863 742 694 076 438}. (6 scores) initial: 265 301 751 129 937 863 742 694 076 438pass 1: [] [301 751] [742] [863] [694] [265] [076] [937] [438] [129] pass 2: [301] [] [129] [937 438] [742] [751] [863 265] [076] [] [694] pass 3: [075] [129] [265] [301] [438] [] [694] [742 751] [863] [937]? final sorted array: 075 129 265 301 438 694 742 751 863 9376. (10 scores) (a) Describe simply the main tasks of the two phases of external sorting. (4 scores) (b). Assume that working memory is 256KB broken into blocks of 8192 bytes (there is also additional space available for I/O buffers, program variables, etc.) What is the expected size for the largest file that can be merged using replacement selection followed by two passes of multi-way merge? Explain how you got your answer. (6 scores)(a) The task of first phase is to break the files into large initial runs by replacement selection; the second phase is to merge the runs together to form a single sorted run file.(b) Since working memory is 256KB and the blocksize is 8KB, the working4 4 4 4 4 2 2 25 5 5 2 2 8 8 4 35 2 8 3 4 5 2 8 3 46 5 2 8 3 4 6 10 5 28 3 4 6 10 14memory holds 32 blocks. The expected runlength is 512KB, so a single pass of multiway merge forms runs of length 512KB*32=16MB. The second pass then forms a run as large as 16MB*32=512MB.7. Assume a disk drive is configured as follows. The total storage is approximately 675M divided among 15 surfaces. Each surface has 612 tracks; there are 144 sectors/track, 512 byte/sector, and 16 sectors/cluster. The interleaving factor is 3. The disk turns at 7200rmp r). The track-to-track seek time is 20 ms, and the average seek time is 80 ms. Now how long does it take to read all of the data in a 360 KB file on the disk? Assume that the file’s clusters are spread randomly across the disk. A seek must be performed each time the I/O reader moves to a new track. Show your calculations. (The process of your solution is required!!!) (6cores)Answer:The first question is how many clusters the file requires?A cluster holds 16* = 8K. Thus, the file requires 360/8=45clusters.The time to read a cluster is seek time to the cluster+ latency time + (interleaf factor × rotation time).Average seek time is defined to be 80 ms. Latency time is *,and cluster rotation time is 3 * (16/144)*.Seek time for the total file read time is45* (80 + * + 3 * (16/144)* ) =8. Using closed hashing, with double hashing to resolve collisions, insert the following keys into a hash table of eleven slots (the slots are numbered 0 through 10). The hash functions to be used are H1 and H2, defined below. You should show the hash table after all eight keys have been inserted. Be sure to indicate how you are using H1 and H2 to do the hashing. ( The process of your solution is required!!!)H1(k) = 3k mod 11 H2(k) = 7k mod 10+1Keys: 22, 41, 53, 46, 30, 13, 1, 67. (10 scores)Answer:H1(22)=0, H1(41)=2, H1(53)=5, H1(46)=6, no conflictWhen H1(30)=2, H2(30)=1 (2+1*1)%11=3,so 30 enters the 3rd slot;H1(13)=6, H2(13)=2 (6+1*2)%11=8, so 13 enters the 8th slot;H1(1)=3, H2(1)=8 (3+5*8)%11= 10 so 1 enters 10 (pass by 0, 8, 5, 2 );H1(67)=3, H2(67)=10 (3+2*10)%11= 1 so 67 enters 1(pass by 2)9. (11scores)Figure 1 Example graph(1)Draw the adjacency matrix representation and adjacency listrepresentation for the graph of the figure-1. And if a pointer requires four bytes, a vertex label requires two bytes, and an edge weight requires two bytes, which representation requires more space for this graph? (8 scores)(2)Show the DFS tree for the example graph, starting at Vertex 1. (3scores)Answer:(1)(a) adjacency matrix (3 scores)1 2 3 4 5 6--------------------------1 | 10 202 |2 | 103 5 |3 | 3 15 |4 | 205 11 10 |5 | 15 11 3 |6 | 2 10 3 |--------------------------(b) adjacency list: (3 scores)1 -> 2(10) -> 4(20) -> 6(2) -> \2 -> 1(10) -> 3(3) -> 4(5) -> \3 -> 2(3) -> 5(15) -> \4 -> 1(20) -> 2(5) -> 5(11) -> 6(10) -> \5 -> 3(15) -> 4(11) -> 6(3) -> \6 -> 1(2) -> 4(10) -> 5(3) -> \(c) (2 scores)Space of adjacency matrix: 2*36= 72 (bytes)Space of adjacency list 4*6+(2+2+4)*16= 152 (bytes)So adjacency list requires more space for this graph.(2)Order that Vertexs are processed: 1 2 3 5 4 610. (7 scores)(1) Use Dijkstra’s Algorithm to find the shortest paths from C to all other vertices. (4 scores)(2) Use Kruskal’s algorithm to find the minimum-cost spanning tree.(3 scores)Answer:(1)C to A: 4 (C,A); CF: 5(C,F); CD: 6(C,A,D); CB: 12(C,A,D,B);CG:11 (C,F,G); CE: 13(C,A,D,B,E)(2)OR。

相关文档
最新文档