数据结构与算法A卷答案

1

数据结构与算法 试卷答案

一、选择题 (每题3分,共30分)

1、下列算法的时间复杂度是( B )。

for (i=0;i

A. O(1)

B. O(n)

C. O(log 2n )

D. O(n 2)

2、在长度为n 的顺序表的第i (1<=i<=n+1)个位置上插入一个元素,元素的移动次数为( A )。

A. n-i+1

B. n-i

C. i

D. i-1 3、循环队列Sq 是满队列的条件是( B )。

A. Sq->rear== Sq->front

B. (Sq->rear+1)%maxsize== Sq->front

C. Sq->rear== 0

D. Sq-> front== 0 4、4个元素按ABCD 顺序连续进S 栈,进行2次Pop (S ,x )操作后,栈顶元素的值是( C )。 A. D B.C C. B D. A

5、设有一个空队列,若进队的序列为A ,B ,C ,D ,则合法的出队的序列( D )。 A. A ,B ,C ,D B. D ,B ,C ,A C. D ,C ,B ,A D. A ,B ,C ,D

6、深度为6(根的层次为1)的二叉树最多有( B )个结点。 A. 64 B. 63 C.31 D. 32

7、设森林T 中有三棵树,第一、二、三棵树的结点个数分别是n1,n2,n3,那么将森林转换成二叉树后,其根结点的右子树上有( B )个结点。

A. n1-1

B. n2+n3

C. n1+n2+n2

D. n1 8、有n 个顶点的无向图的邻接矩阵是用( A )数组存储。

A. n 行n 列

B. 一维

C. 任意行n 列

D. n 行任意列 9、采用顺序查找法检索长度为n 的线性表,则检索每个元素的平均比较次数为( C )。 A. n B. n/2 C. (n+1)/2 D. (n-1)/2 10、直接插入排序的方法是( A )的排序方法。

A. 稳定

B. 不稳定

C. 外部

D. 选择

二、填空题(每空2分,共10分)

1、线性表的元素长度为4,Loc (a i )=100,则Loc (a i+1)= 104 。

2、循环队列Sq 存储在数组Sq.data[100]中,则Sq 中最多能存放 99 个队列元素。

3、设S=“I AM A STUDENT ”,其长度是 14 。

4、二叉树某结点的编号为i 则其右孩子的编号为 2*i+1 。

5、设无向图G 的顶点数为n ,则图G 最少有 n-1 条边。

三、简答题(每题10分,共40分)

1、设有二维数组A (8×6),每个元素占3个字节存储, a 00的起始地址为1000,计算: (1)数组A 所占的存储空间;(2)按行优先存储,元素A43的地址;(3)按列优先存储,元素A72的地址。

(1)8×6×3=144

(2)LOC (A43)= 1000+(4×6+3) ×3= 1081

(3)LOC (A72)= 1000+(2×8+7) ×3=1069

2、已知一棵二叉树的先序和中序遍历序列分别为:先序:ABCDEFGHI ;中序:BCAEDGHFI ;恢复该二叉树;并且写出该二叉树的后序遍历序列。

恢复出的二叉树如右图

该二叉树的后序遍历序列为:CBEHGIFDA

该二叉树的后序遍历序列为:ACDBGJKIHFE

3、有一份电文中共使用5个字符:a 、b 、c 、d 、e ,它们的出现频率依次为5、2、1、6、4。试画出对应的哈夫曼树(要求左子树结点的值小于右子树结点的值),并求出每个字符的哈夫曼编码。

哈夫曼树如右图所示

哈夫曼编码如下: a :10

b:001

c:000

d:11

e:01

4.设哈希函数H(K)=k%7,给定键值序列为19,1,23,15,55, 20,84,27,68处理冲突的方法为线性探测再散列,试在0~9的散列地址空间中对该关键字序列构造哈希表,并计算该表的成功查找的平均查找长度。

【答案】哈希表如下

0 1 2 3 4 5 6 7 8 9

平均查找长度为:(1+1+1+3+1+1+2+3+5)/9=2

四、编程题(每题20分,共20分)

1、假设已经递增有序的序列(1,12,16,28,30,65),要想查找16,如果查找成功返回16的位置,查找不成功返回值为0。要求:

(1)使用哪种查找方法效率最高?(5分)

(2)写出该算法。(15分)

(1)二分查找

(2)int bin_search(sqlist r,int k,int n)

{

int low=1,high=n,found=0,mid;

while((low<=high)&&!found)

{

mid=(low+high)/2;

if(k==r[mid])

return mid;

else

{

if(k>r[mid])

low=mid+1;

else

high=mid-1;

}

}

return 0;

}

}

下标

关键字

比较次数

2

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

2022年成都大学计算机科学与技术专业《数据结构与算法》科目期末 试卷A(有答案) 一、选择题 1、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数 是一对一的关系,则选择好的()方法是哈希文件的关键。 A.哈希函数 B.除余法中的质数 C.冲突处理 D.哈希函数和冲突处理 2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。 A.13 B.33 C.18 D.40 3、连续存储设计时,存储单元的地址()。 A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续 4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。 A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都可能要修改 D.队头、队尾指针都要修改 5、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列 中的元素数是()。 A.(rear-front+m)%m B.rear-front+1 C.rear-front-1

D.rear-front 6、下列关于无向连通图特性的叙述中,正确的是()。 Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1 A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ 7、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空, 下列判断队空和队满的条件中,正确的是()。 A.队空:end1==end2;队满:end1==(end2+1)mod M B.队空:end1==end2;队满:end2==(end1+1)mod (M-1) C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod M D.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1) 8、在下述结论中,正确的有()。 ①只有一个结点的二叉树的度为0。 ②二叉树的度为2。 ③二叉树的左右子树可任意交换。④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。 A.①②③ B.⑦③④ C.②④ D.①④ 9、下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按 其关键字有序()。 A.二叉排序树 B.哈夫曼树 C.AVL树 D.堆 10、分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是()。 A.(100,80,90,60,120,110,130) B.(100,120,110,130,80,60,90)

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

2022年安徽理工大学计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是()。 A.60 B.66 C.18000 D.33 2、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。 A.5 B.6 C.8 D.9 3、链表不具有的特点是()。 A.插入、删除不需要移动元素 B.可随机访问任一元素 C.不必事先估计存储空间 D.所需空间与线性长度成正比 4、下列关于AOE网的叙述中,不正确的是()。 A.关键活动不按期完成就会影响整个工程的完成时间 B.任何一个关键活动提前完成,那么整个工程将会提前完成 C.所有的关键活动提前完成,那么整个工程将会提前完成 D.某些关键活动若提前完成,那么整个工程将会提前完成 5、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。 A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都可能要修改 D.队头、队尾指针都要修改 6、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序 方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。 Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序

A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ 7、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是()。 8、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。 A.CBEFDA B.FEDCBA C.CBEDFA D.不定 9、有关二叉树下列说法正确的是()。 A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 10、下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是()。 A.选择排序法 B.插入排序法 C.快速排序法 D.堆排序法 二、填空题 11、如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为______。 12、在有n个顶点的有向图中,每个顶点的度最大可达______。 13、如下的算法分别是后序线索二叉树求给定结点node的前驱结点与后继结点的算法,请在算法空格处填上正确的语句。设线索二叉树的结点数据结构为(lflag,left,data,right,rflag),其中:lflag=0,left指向其左孩子,lflag=1,left指向其前驱;rflag=0,right指向其右孩子,rflag=1,right指向其后继。

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

2022年北京大学计算机科学与技术专业《数据结构与算法》科目期末 试卷A(有答案) 一、选择题 1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放 在已排序序列的合适位置,该排序方法称为()排序法。 A.插入 B.选择 C.希尔 D.二路归并 2、下列排序算法中,占用辅助空间最多的是()。 A.归并排序 B.快速排序 C.希尔排序 D.堆排序 3、计算机算法指的是解决问题的步骤序列,它必须具备()三个特性。 A.可执行性、可移植性、可扩充性 B.可执行性、确定性、有穷性 C.确定性、有穷性、稳定性 D.易读性、稳定性、安全性 4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。 A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都可能要修改 D.队头、队尾指针都要修改 5、下列关于AOE网的叙述中,不正确的是()。 A.关键活动不按期完成就会影响整个工程的完成时间 B.任何一个关键活动提前完成,那么整个工程将会提前完成 C.所有的关键活动提前完成,那么整个工程将会提前完成 D.某些关键活动若提前完成,那么整个工程将会提前完成 6、下列叙述中,不符合m阶B树定义要求的是()。

A.根结点最多有m棵子树 B.所有叶结点都在同一层上 C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接 7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。 Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ 8、一个具有1025个结点的二叉树的高h为()。 A.11 B.10 C.11至1025之间 D.10至1024之间 9、有n(n>0)个分支结点的满二叉树的深度是()。 A.n2-1 B.log2(n+1)+1 C.log2(n+1) D.log2(n-l) 10、在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A 的左孩子的平衡因子为0,右孩子的平衡因子为l,则应作()型调整以使其平衡 A.LL B.LR C.RL D.RR 二、填空题 11、N个顶点的连通图用邻接矩阵表示时,该矩阵至少有______个非零元素。 12、在有n个顶点的有向图中,每个顶点的度最大可达______。 13、按LSD进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用______的排序方法。 14、已知有序表为(12,18,24,35,47,50,62,83,90,115, 134)当用二分法查找90时,需______次查找成功,查找47时______成功,查找100时,需______次才能确定不成功。 15、数据结构中评价算法的两个重要指标是______。 16、在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是______。

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

2022年兰州大学计算机科学与技术专业《数据结构与算法》科目期末 试卷A(有答案) 一、选择题 1、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数 是一对一的关系,则选择好的()方法是哈希文件的关键。 A.哈希函数 B.除余法中的质数 C.冲突处理 D.哈希函数和冲突处理 2、下列排序算法中,占用辅助空间最多的是()。 A.归并排序 B.快速排序 C.希尔排序 D.堆排序 3、若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采 用的存储方式()。 A.单链表 B.双向链表 C.单循环链表 D.顺序表 4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。 A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都可能要修改 D.队头、队尾指针都要修改 5、动态存储管理系统中,通常可有()种不同的分配策略。 A.1 B.2 C.3 D.4 6、下列选项中,不能构成折半查找中关键字比较序列的是()。 A.500,200,450,180 B.500,450,200,180 C.180,500,200,450 D.180,200,500,450

7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序 方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。 Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ 8、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。 A.CBEFDA B.FEDCBA C.CBEDFA D.不定 9、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。 A.其中任意一个结点均无左孩子 B.其中任意一个结点均无右孩子 C.其中只有一个叶结点 D.其中度为2的结点最多为一个 10、对序列{15,9,7,8,20,-1,4}用希尔排序方法排序,经一趟后序列变为{15,-1,4,8,20,9,7}则该次采用的增量是()。 A.1 B.4 C.3 D.2 二、填空题 11、有向图G=(V,E),其中V(G)={0,1,2,3,4,5},用 三元组表示弧及弧上的权d。E(G)为E(G)={<0,5,100>,<0,2,10>,<1,2,5>,<0,4,30>,<4,5,60>,<3,5,10>,<2, 3,50>,<4,3,20>},则从源点0到顶点3的最短 路径长度是______,经过的中间顶点是______。 12、属于不稳定排序的有______。 13、在双向循环链表中,向p所指的结点之后插入指针f所指的结点,其操作是______、 ______、______、______。 14、检索是为了在文件中寻找满足一定条件的记录而设置的操作。检索可以按______检索。也可以按______检索;按______检索又可以有 ______检索和______检索。 15、外排序的基本操作过程是______和______。

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

2022年山东科技大学计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放 在已排序序列的合适位置,该排序方法称为()排序法。 A.插入 B.选择 C.希尔 D.二路归并 2、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。 A.N B.2N-1 C.2N D.N-1 3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则 采用()存储方式最节省运算时间。 A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表 4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。 A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都可能要修改 D.队头、队尾指针都要修改 5、已知串S='aaab',其next数组值为()。 A.0123 B.1123 C.1231 D.1211 6、下列选项中,不能构成折半查找中关键字比较序列的是()。 A.500,200,450,180 B.500,450,200,180 C.180,500,200,450 D.180,200,500,450 7、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a, 则根结点的孩子结点()。 A.只有e B.有e、b C.有e、c D.无法确定

8、一个具有1025个结点的二叉树的高h为()。 A.11 B.10 C.11至1025之间 D.10至1024之间 9、有n(n>0)个分支结点的满二叉树的深度是()。 A.n2-1 B.log2(n+1)+1 C.log2(n+1) D.log2(n-l) 10、若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 二、填空题 11、顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为______次;当使用监视哨时,若查找失败,则比较关键字的次数为______。 12、若用n表示图中顶点数目,则有______条边的无向图成为完全图。 13、在基于关键字比较且时间为O(nlog2n)的排序中,若要求排序是稳定的,则可选用______排序;若要求就地排序(及辅助空间为O(1)),则可选用______排序。 14、VSAM(虚拟存储存取方法)文件的优点是:动态地______,不需要文件进行______,并能较快地______进行查找。 15、设单链表的结点结构为(data,next),next为指针域,已知指针px 指向单链表中data为x的结点,指针py指向data为y的新结点,若将结点y 插入结点x之后,则需要执行以下语句:______ 16、在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是______。 17、模式串P=‘abaabcac’的next函数值序列为______。

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

2022年河海大学计算机科学与技术专业《数据结构与算法》科目期末 试卷A(有答案) 一、选择题 1、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。 A.5 B.6 C.8 D.9 2、下述文件中适合于磁带存储的是()。 A.顺序文件 B.索引文件 C.哈希文件 D.多关键字文件 3、连续存储设计时,存储单元的地址()。 A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续 4、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。 A.h->next=s B.s->next=h C.s->next=h;h->next=s D.s->next=h-next;h->next=s 5、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。 A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都可能要修改 D.队头、队尾指针都要修改

6、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空, 下列判断队空和队满的条件中,正确的是()。 A.队空:end1==end2;队满:end1==(end2+1)mod M B.队空:end1==end2;队满:end2==(end1+1)mod (M-1) C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod M D.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1) 7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序 方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。 Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ 8、一个具有1025个结点的二叉树的高h为()。 A.11 B.10 C.11至1025之间 D.10至1024之间 9、下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按 其关键字有序()。 A.二叉排序树 B.哈夫曼树 C.AVL树 D.堆 10、数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的()的两趟排序后的结果。 A.选择排序 B.起泡排序 C.插入排序 D.堆排序 二、填空题 11、以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。

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

2022年西安交通大学计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是()。 A.60 B.66 C.18000 D.33 2、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。 A.N B.2N-1 C.2N D.N-1 3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则 采用()存储方式最节省运算时间。 A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表 4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={},G的拓扑序列是()。 A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 5、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。 A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都可能要修改 D.队头、队尾指针都要修改 6、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行 匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别 ()。 A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=2

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

2022年北京科技大学计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。 A.5 B.6 C.8 D.9 2、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。 A.快速排序 B.堆排序 C.归并排序 D.直接插入排序 3、线性表的顺序存储结构是一种()。 A.随机存取的存储结构 B.顺序存取的存储结构 C.索引存取的存储结构 D.Hash存取的存储结构 4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。 A.(rear-front+m)%m B.rear-front+1 C.rear-front-1 D.rear-front 5、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={},G的拓扑序列是()。 A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 6、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。 A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=2

-数据结构与算法A卷参考答案

江西财经大学06-07第一学期 期末考试参考答案与评分标准 试卷代码:03266A 授课课时:112 课程名称:数据结构与算法适用对象:本科 一、单项选择题(每小题2分,共24分。) 1. D 2. D 3. C 4. B 5. C 6. C 7. D 8. B 9. D 10. A 11. C 12. D 二、填空题(每空1分,共7分。) 1.父(或前驱), 1 2. n-1 3. 不包含任何字符的串 4. (n+1)/2 5. 素数 6. 0111223123 三、简答题(每小题5分,共15分) 1.答:①顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中 可用存储单元的地址必须是连续的。 优点:存储密度大,存储空间利用率高。缺点:插入或删除元素时不方便。 ②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结 点值,另一部分存放表示结点间关系的指针 优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小(<1),存储空间利用率低。 顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作。 若线性表的长度变化不大,且其主要操作是查找,则采用顺序表; 若线性表的长度变化较大,且其主要操作是插入、删除操作,则采用链表。 2.答:在排序序列中,任何两个相等的关键字Ki=Kj,如果在排序前的序列中Ki领先于 Kj,若在排序后的序列中Ki仍领先于Kj,则称所用的排序方法是稳定的;反之,若可能使排序后的序列中Kj领先于Ki,则称所用的排序方法是不稳定的。 3.答:各中缀表达式的后缀形式如下: (1)AB+D*EFAD*+/+C+ (2)AB&&EF>!|| 四、判断题(本大题共10小题,命题正确的在题后括号内写“T”,错误的在题后括号内写“F”,每小题1分,共10分) 1.T 2.F 3.T 4.F 5.F 6.F 7.T 8.F 9.T 10.F

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

2022年黄山学院计算机科学与技术专业《数据结构与算法》科目期末 试卷A(有答案) 一、选择题 1、下列排序算法中,占用辅助空间最多的是()。 A.归并排序 B.快速排序 C.希尔排序 D.堆排序 2、无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a, e),(a,c),(b, e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是()。 A.a,b,e,c,d,f B.a,c,f,e,b,d C.a,e,b,c,f, d D.a,e,d,f,c,b 3、线性表的顺序存储结构是一种()。 A.随机存取的存储结构 B.顺序存取的存储结构 C.索引存取的存储结构 D.Hash存取的存储结构 4、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。 A.543612 B.453126 C.346521 D.234156 5、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={},G的拓扑序列是()。 A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 6、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。 A.只有e B.有e、b C.有e、c D.无法确定 7、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。 A.3,5,12,8,28,20,15,22,19

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

2022年成都东软学院计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放 在已排序序列的合适位置,该排序方法称为()排序法。 A.插入 B.选择 C.希尔 D.二路归并 2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。 A.13 B.33 C.18 D.40 3、单链表中,增加一个头结点是为了()。 A.使单链表至少有一个结点 B.标识表结点中首结点的位置 C.方便运算的实现 D.说明单链表是线性表的链式存储 4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列 中的元素数是()。 A.(rear-front+m)%m B.rear-front+1 C.rear-front-1 D.rear-front 5、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。 A.h->next=s B.s->next=h C.s->next=h;h->next=s D.s->next=h-next;h->next=s 6、下列选项中,不能构成折半查找中关键字比较序列的是()。 A.500,200,450,180 B.500,450,200,180

C.180,500,200,450 D.180,200,500,450 7、下列叙述中,不符合m阶B树定义要求的是()。 A.根结点最多有m棵子树 B.所有叶结点都在同一层上 C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接 8、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。 A.107 B.108 C.214 D.215 9、设X是树T中的一个非根结点,B是T所对应的二叉树。在B中,X是其双亲的右孩子,下列结论正确的是()。 A.在树T中,X是其双亲的第一个孩子 B.在树T中,X一定无右兄弟 C.在树T中,X一定是叶结点 D.在树T中,X一定有左兄弟 10、分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是()。 A.(100,80,90,60,120,110,130) B.(100,120,110,130,80,60,90) C.(100,60,80,90,20,110,130) D.(100,80,60,90,120,130,110) 二、填空题 11、以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。

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

2022年河南工程学院计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。 A.哈希函数 B.除余法中的质数 C.冲突处理 D.哈希函数和冲突处理 2、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。 A.快速排序 B.堆排序 C.归并排序 D.直接插入排序 3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。 A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表 4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={},G的拓扑序列是()。 A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 5、在用邻接表表示图时,拓扑排序算法时间复杂度为()。 A.O(n) B.O(n+e) C.O(n*n) D.O(n*n*n) 6、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。 Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ

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

2022年广州大学计算机科学与技术专业《数据结构与算法》科目期末 试卷A(有答案) 一、选择题 1、将线性表的数据元素进行扩充,允许带结构的线性表是()。 A.串 B.树 C.广义表 D.栈 2、无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a, e),(a,c),(b, e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是 ()。 A.a,b,e,c,d,f B.a,c,f,e,b,d C.a,e,b,c,f, d D.a,e,d,f,c,b 3、连续存储设计时,存储单元的地址()。 A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续 4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。 A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都可能要修改 D.队头、队尾指针都要修改 5、已知串S='aaab',其next数组值为()。 A.0123 B.1123 C.1231 D.1211 6、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序 方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。 Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ 7、下列选项中,不能构成折半查找中关键字比较序列的是()。

A.500,200,450,180 B.500,450,200,180 C.180,500,200,450 D.180,200,500,450 8、有n(n>0)个分支结点的满二叉树的深度是()。 A.n2-1 B.log2(n+1)+1 C.log2(n+1) D.log2(n-l) 9、一个具有1025个结点的二叉树的高h为()。 A.11 B.10 C.11至1025之间 D.10至1024之间 10、若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 二、填空题 11、对单链表中元素按插入方法排序的C语言描述算法如下,其中L为链表头结点指针。请填充算法中标出的空白处,完成其功能。

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

2022年浙江大学计算机科学与技术专业《数据结构与算法》科目期末 试卷A(有答案) 一、选择题 1、将线性表的数据元素进行扩充,允许带结构的线性表是()。 A.串 B.树 C.广义表 D.栈 2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。 A.哈希函数 B.除余法中的质数 C.冲突处理 D.哈希函数和冲突处理 3、静态链表中指针表示的是()。 A.下一元素的地址 B.内存储器的地址 C.下一元素在数组中的位置 D.左链或右链指向的元素的地址 4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。 A.(rear-front+m)%m B.rear-front+1 C.rear-front-1 D.rear-front 5、在下列表述中,正确的是() A.含有一个或多个空格字符的串称为空格串 B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树

C.选择排序算法是不稳定的 D.平衡二叉树的左右子树的结点数之差的绝对值不超过l 6、下列选项中,不能构成折半查找中关键字比较序列的是()。 A.500,200,450,180 B.500,450,200,180 C.180,500,200,450 D.180,200,500,450 7、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。 A.3,5,12,8,28,20,15,22,19 B.3,5,12,19,20,15,22,8,28 C.3,8,12,5,20,15,22,28,19 D.3,12,5,8,28,20,15,22,19 8、下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序()。 A.二叉排序树 B.哈夫曼树 C.AVL树 D.堆 9、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。 A.107 B.108 C.214 D.215 10、在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A 的左孩子的平衡因子为0,右孩子的平衡因子为l,则应作()型调整以使其平衡 A.LL B.LR C.RL D.RR 二、填空题 11、如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为______。 12、在哈希函数H(key)=key%p中,p值最好取______。 13、如下的算法分别是后序线索二叉树求给定结点node的前驱结点与后继结点的算法,请在算法空格处填上正确的语句。设线索二叉树的结点数据结构为(lflag,left,data,

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

2022年桂林电子科技大学计算机科学与技术专业《数据结构与算法》 科目期末试卷A(有答案) 一、选择题 1、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。 A.快速排序 B.堆排序 C.归并排序 D.直接插入排序 2、用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为()。 A.j=r[j].next B.j=j+l C.j=j->next D.j=r[j]->next 3、算法的计算量的大小称为计算的()。 A.效率 B.复杂性 C.现实性 D.难度 4、在下列表述中,正确的是() A.含有一个或多个空格字符的串称为空格串 B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树 C.选择排序算法是不稳定的 D.平衡二叉树的左右子树的结点数之差的绝对值不超过l 5、在用邻接表表示图时,拓扑排序算法时间复杂度为()。 A.O(n) B.O(n+e) C.O(n*n) D.O(n*n*n) 6、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。 Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ 7、下列关于无向连通图特性的叙述中,正确的是()。 Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1 A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ

8、设X是树T中的一个非根结点,B是T所对应的二叉树。在B中,X是其双亲的右孩子,下列结论正确的是()。 A.在树T中,X是其双亲的第一个孩子 B.在树T中,X一定无右兄弟 C.在树T中,X一定是叶结点 D.在树T中,X一定有左兄弟 9、有关二叉树下列说法正确的是()。 A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 10、对n个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是()。 A.每次分区后,先处理较短的部分 B.每次分区后,先处理较长的部分 C.与算法每次分区后的处理顺序无关 D.以上三者都不对 二、填空题 11、设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称增量序列)依次是4,2,1则排序需______趟,写出第一趟结束后,数组中数据的排列次序______。

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

2022年南昌航空大学计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。 A.快速排序 B.堆排序 C.归并排序 D.直接插入排序 2、已知广义表LS=((a,b,c),(d,e,f)),用head和tail数取出LS中原子e 的运算是()。 A.head(tail(LS)) B.tail(head(LS)) C.head(tail(head(tail(LS)))) D.head(tail(tail(head(LS)))) 3、静态链表中指针表示的是()。 A.下一元素的地址 B.内存储器的地址 C.下一元素在数组中的位置 D.左链或右链指向的元素的地址 4、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。 A.543612 B.453126 C.346521 D.234156 5、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={},G的拓扑序列是()。 A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 6、下列关于无向连通图特性的叙述中,正确的是()。 Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1 A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ

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

2022年山东女子学院计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、已知广义表LS=((a,b,c),(d,e,f)),用head和tail数取出LS中原子e 的运算是()。 A.head(tail(LS)) B.tail(head(LS)) C.head(tail(head(tail(LS)))) D.head(tail(tail(head(LS)))) 2、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。 A.5 B.6 C.8 D.9 3、以下数据结构中,()是非线性数据结构。 A.树 B.字符串 C.队 D.栈 4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={},G的拓扑序列是()。 A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 5、在用邻接表表示图时,拓扑排序算法时间复杂度为()。 A.O(n) B.O(n+e) C.O(n*n) D.O(n*n*n) 6、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。 A.只有e B.有e、b C.有e、c D.无法确定 7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。 Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序 A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ

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

2022年湘潭理工学院计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是()。 A.60 B.66 C.18000 D.33 2、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。 A.快速排序 B.堆排序 C.归并排序 D.直接插入排序 3、连续存储设计时,存储单元的地址()。 A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续 4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={},G的拓扑序列是()。 A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 5、动态存储管理系统中,通常可有()种不同的分配策略。 A.1 B.2 C.3 D.4 6、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。 A.3,5,12,8,28,20,15,22,19 B.3,5,12,19,20,15,22,8,28 C.3,8,12,5,20,15,22,28,19 D.3,12,5,8,28,20,15,22,19 7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。

相关主题
相关文档
最新文档