数据结构(A卷)【含答案】

试卷编号拟题教研室(或教师)签名教研室主任签名………………………………………………………………………………………………………课程名称(含档次)数据结构A课程代号课程编号

专业层次(本、专)本科考试方式(开、闭卷)闭卷

一、应用题(3小题,共20分)

1.设有一个栈,元素进栈的次序为:A,B,C,D,E,用I表示进栈操作,O表示出栈操作,设初始状态栈为空,写出下列出栈的操作序列。(8分)

(1)C,B,A,D,E(2)A,C,B,E,D

2. 一份电文中有6种字符:A,B,C,D,E,F,它们的出现频率依次为16,5,9,3,30,1,完成问题:

(1)设计一棵哈夫曼树;(画出其树结构)

(2)计算其带权路径长度WPL。(8分)

3. 已知无向图G的邻接表如图所示,分别写出从顶点1出发的深度遍历和广度遍历序列。(4分)

二、判断正误(10小题,共20分)

1.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。( )

2.一个栈的输入序列为:A,B,C,D,可以得到输出序列:C,A,B,D。( )

3.栈和队列都是受限的线性结构。()

4. 逻辑结构与数据元素本身的内容和形式无关。()

5.线性表链式存储的特点是可以用一组任意的存储单元存储表中的数据元素。()

6. 完全二叉树的某结点若无左孩子,则它必是叶结点。()

7. 邻接表只能用于存储有向图,而邻接矩阵则可存储有向图和无向图。()

8. 图的深度优先搜索序列和广度优先搜索序列不是惟一的。()

9. 折半查找只适用于有序表,包括有序的顺序表和链表。()

10. 每种数据结构都具备三个基本操作:插入、删除和查找。()

三、单项选择题(15小题,共30分)

1.算法分析的两个主要方面是()。

A. 空间复杂度和时间复杂度

B.正确性和简单性

C.可读性和文档性

D.数据复杂性和程序复杂性

2.具有线性结构的数据结构是()。

A.图

B.树

C.广义表

D.栈

3.下面程序段的时间复杂度是()。

for(i=0;i

for(j=0;j

a[i][j]=i*j;

A.O(m2)

B.O(n2)

C. O(m*n)

D. O(m+n)

4. 线性表是n个()的有限序列。

A.表元素

B.字符

C. 数据元素

D.数据项

5. 线性表L=(a1,a2,…,an),下列说法正确的是()。

A.每个元素都有一个直接前驱和一个直接后继

B.线性表中至少要有一个元素

C.表中诸元素的排列顺序必须是由小到大或由大到小

D.除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后继

6. 不带头结点的单链表head为空的判定条件是()。

A.head==NULL

B.head->next==NULL

C.head->next==head

D.head!=NULL

7. 队列的插入操作是在()。

A.队尾

B. 队头

C. 队列任意位置

D. 队头元素后

8. 循环队列的队头和队尾指针分别为front和rear,则判断循环队列为空的条件是()。

A.front==rear

B.front==0

C.rear==0

D.front=rear+1

9. 二叉树的深度为k,则二叉树最多有()个结点。

A.2k

B.2k-1

C.2k-1

D.2k-1

10.两个指针P和Q,分别指向单链表的两个元素,P所指元素是Q所指元素前驱的条件是()。

A.P->next==Q->next B.P->next== QC.Q->next== P D.P== Q

11.树最适合用来表示( )。

A.有序数据元素B.无序数据元素

C.元素之间具有分支层次关系的数据D.元素之间无联系的数据

12. 表达式a*(b+c)-d的后缀表达式是()。

A.abcd+-

B. abc+*d-

C.abc*+d-

D.-+*abcd

13.每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储区里,这种存储结构称为()结构。

A. 顺序存储

B. 链式存储

C. 索引存储

D.散列存储

14.关键路径是事件结点网络中()。

A.从源点到汇点的最长路径

B.从源点到汇点的最短路径

C.最长的回路

D.最短的回路

15.设有以下四种排序方法,则()的空间复杂度最大。

A.冒泡排序

B.快速排序

C.堆排序

D.希尔排序

四、算法设计题(1小题,共8分)

1.已知一个单链表,编写一个函数从单链表中删除自第i个结点起的k个结点。(8分)

五、填空题(5小题,共10分)

1.由两个栈共享一个存储空间的好处是()

2.在各种查找方法中,平均查找长度与结点个数n无关的查找方法是。

3.对n个元素进行起泡排序,在情况下比较的次数最少,其比较次数为。在情况下比较次数最多,其比较次数为。

4.已知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用折半查找90时,需进行次查找可确定成功。。

5.在双向链表中,每个结点都有两个指针域,它们一个指向其结点,另一个指向其结点。

六、简答题(2小题,共12分)

1.已知一组记录的排序码为(46,79,56,38,40,80, 95,24),写出对其进行快速排序的前两趟的划分结果。

2. 请说明顺序表和单链表各有何优缺点。

湖北警官学院信息技术系

2017-2018学年数据结构A期末考试试卷(A卷)

(答案部分)

一、应用题(3小题,共20分)

1.(8分)解:(1)IIIOOOIOIO (2)IOIIOOIIOO

2.(8分)(1)树形态:

(2)带权路径长度:WPL=30*1+16*2+9*3+5*4+(1+3)*5=30+32+27+20+20=129。

3. (4分)【答案】

深度优先遍历序列为:1,2,3,4,5,6

广度优先遍历序列为:1,2,4,3,5,6

二、判断正误(10小题,共20分)

1.(×)2.(×)3.(√)4.(√)5.(√)6.(√)7.(×)8.(√)9.(×)10.(×)三、单项选择题(15小题,共30分)

1.A 2.D 3.C 4.C 5.D 6.A 7.A 8.A 9.C

10.B 11.C 12.B 13.A 14.A 15.B

四、算法设计题(1小题,共8分)

1.解:

void Del(ListNode *head,int i,int k)

{

node *p,*q;

int j;

if (i==1) For (j=1;j<=k;j++) // 删除前k个元素

{

p=head; // p指向要删除的结点

head=head->next; Free(p);

}

else

{

p=head;

for (j=1;j<=i-2;j++)

p=p->next; // p指向要删除的结点的前一个结点

for (j=1;j<=k;j++)

{

q=p->next; // q 指向要删除的结点

p->next=q->next;

free(q);

}

}

}

五、填空题(5小题,共10分)

1.节省存储空间,降低上溢发生的机率

2.哈希查找

3.正序,n-1,反序,n(n-1)/2

4.2

5.前趋后继

六、简答题(2小题,共12分)

1. 【答案】第一趟:24 40 38 46 [56 80 95 79]

第二趟:24 [40 40] 46 [56 80 95 79]

2.【答案】(1)顺序表的优点:①无需为表示表中元素之间的逻辑关系而增加额外的存储空间;②可以快速地存取表中任一位置的元素(即随机存取)。顺序表的缺点:①插入和删除操作需移动大量元素;②表的容量难以确定;③造成存储空间的“碎片”。

(2)单链表的优点:①不必事先知道线性表的长度;②插入和删除元素时只需修改指针,不用移动元素。单链表的缺点:①指针的结构性开销;②存取表中任意元素不方便,只能进行顺序存取。

数据结构试卷(A)答案

运算机系2010年—2011年第一学期期末考试题(卷)《数据结构》试题A(卷)参考答案和评分标准 一、选择题(每题2分,共40分)。 1.线性表假设采纳链式存储结构时,要求内存中可用存储单元的地址(D )A.必需是持续的B.部分地址必须是连续的 C.必然是不持续的D.连续不连续都可以 2. 链表不具有的特点是( C ) A.随机访问B.不必事先估计存储空间 C.插入删除时不需移动元素D.所需空间与线性表成正比 3.设有编号为1,2,3,4的4辆车,顺序进入一个栈结构的站台,以下不可能的出站顺序为( D ) A.1234 B.1243 C.1324 D.1423 4.顺序栈存储空间的实现利用(B )存储栈元素。 A.链表B.数组C.循环链表D.变量 5.初始化一个空间大小为5的顺序栈S 后,S->top的值是( B ) A.0 B.-1 C.再也不改变D.动态变化 6.队列是限定在( D )进行操作的线性表。 A.中间B.队首C.队尾 D.两端 7.引发循环队列队头位置发生转变的操作是(A )。 A.出队B.入队C.取队头元素D.取队尾元素8.以下论述正确的选项是(C ) A.空串与空格串是相同的B.”tel”是”Teleptone”的子串 C.空串是零个字符的串D.空串的长度等于1 9.串的模式匹配是指(D ) A.判定两个串是不是相等 B.对两个串比较大小 C.找某字符在主串中第一次显现的位置D.找某子串在主串中第一次显现的第一个字符位置 =”morning”,执行求子串函数SubStr(S,2,2)后的结果为( B ) A.”mo”B.”or”C.”in” D.”ng” 11.设高度为h的二叉树上只有度为0和度为2的结点,那么此类二叉树中所包括的结点数至少为( B ) A.2h B.2h-1 C.2h+1 D.h+1 12.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( D ) A.acbed B.decab C.deabc D.cedba 13. 按照二叉树的定义,具有3个结点的二叉树有( C )种。 A.3 B.4 C.5 D.6 14.关于一个满二叉树,m个树叶,n个结点,深度为h,那么( D ) A.n=h+m B.h+m=2n C.m=h-1 D.n=2h-1 15.具有6个极点的无向图至少应有( A )条边才能确保是一个连通图。A.5 B.6 C.7 D.8 16.采纳邻接表存储的图的深度优先遍历算法类似于二叉树的( A ) A.先序遍历B.中序遍历 C.后序遍历D.按层遍历17.关于一上具有n个极点的无向图,假设采纳邻接矩阵来表示,那么该矩阵的大小是( D ) An.B.(n-1)2C.n-1

数据结构试题及答案(1)A

数据结构试卷 一、填空殖(每空1分共20分) 1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情 况。 2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作 为该完全二叉树的存储结构,则共有______501_____个空指针域. 3.设输入序列为1、2、3,则经过栈的作用后可以得到_____6______种不同的输出序列。 4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和 等于顶点i的___出度_____,第i列上所有元素之和等于顶点i的____入度____。 5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。 6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为 ____e=d_____。 7.____中序______遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中 序或后序). 8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较 _____7___次就可以断定数据元素X是否在查找表中。 9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为 ______1______。 10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第 i个结点的双亲结点编号为___i/2_________,右孩子结点的编号为____2i+1_______。 11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一 趟快速排序结果为_____5 16 71 23 72 94 73______。 12.设有向图G中有向边的集合E={〈1,2〉,<2,3>,〈1,4〉,〈4,2>,〈4,3〉},则该图的 一种拓扑序列为___1 4 2 3___。 13.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句。 struct record{int key;int others;}; int hashsqsearch(struct record hashtable[ ],int k) { int i,j; j=i=k %p; while (hashtable[j]。key!=k&&hashtable[j].flag!=0){j=(____)%m;if (i==j)return(-1);} if (_______________________ )return(j); else return(-1); 二、选择题(每题1分,共20分) 1.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={〈01,02>,<01,03>,<01,04〉,<02,05〉,<02,06〉,〈03,07>,<03,08〉,〈03,09>},则数据结构A是( B )。 (A) 线性结构(B)树型结构(C) 物理结构(D)图型结构 2.下面程序的时间复杂为(B) for(i=1,s=0;i〈=n;i++){t=1;for(j=1;j〈=i;j++)t=t*j;s=s+t;} (A) O(n) (B) O(n2) (C) O(n3)(D) O(n4) 3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为(A )。 (A) q=p—〉next;p-〉data=q->data;p—〉next=q—〉next;free(q); (B) q=p—〉next;q—>data=p-〉data;p-〉next=q->next;free(q);

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指向其后继。

《数据结构》期末试题(A卷)附答案及评分标准

《数据结构》试题(A卷) (考试时间: 90分钟) 一、单项选择题(本大题共15小题,每小题2分,共30分) (每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分) 1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。 A.数据 B.数据元素 C.数据对象 D.数据结构 2.算法计算量的大小称为算法的()。 A.效率 B.复杂度 C.数据元素之间的关系 D.数据的存储方法 3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入或删除运算,则采用以下()方式最节省时间。 A.链式存储 B. 索引存储 C.顺序存储 D.散列存储 4.下述哪一条是顺序存储结构的优点?() A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示 5.在一个单链表中,若删除p所指结点的后续结点,则执行()。 A.p->next=p->next->next B.p->next=p->next C.p=p->next;p->next=p->next->next D.p=p->next->next 6.带头结点的单链表head为空的判定条件是()。 A.head==NULL B.head->next==NULL C.head->next==head D.head!==NULL 7.非空的循环单链表head的尾结点(由p所指向)满足()。 A.p->head==NULL B.p==NULL C.p->next==head D.p==head 8.下面关于线性表的叙述中,错误的是哪一个?() A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链式存储,不必占用一片连续的存储单元。 D.线性表采用链式存储,便于插入和删除操作。 9.队列操作的原则是()。 A.后进先出 B.先进先出 C.只能进行插入 D.只能进行删除 10.栈中允许进行插入和删除的一端称为()。 A.栈首 B.栈尾 C.栈顶 D.栈底 11.假设以数组A[n]存放循环队列的元素,其首尾指针分别为front和rear,则当前队列中的元素个数为()。 A.(rear-front+n)%n B. rear-front+1 C. (front-rear+n)%n D.(rear-front)%n 12.最大容量为n的循环队列,队尾指针是rear,队首指针是front,则队空的判断条件是( )。 A.(rear+1)%n==front B.rear==front C.rear+1==front D.(rear-1)%n==front 13.将一个十进制的数转换成二进制的数,可以使用以下一种称为()的数据结构。 A. 图 B. 树 C. 广义表 D. 栈 14. 把一棵树转换为二叉树后,这棵二叉树的形态是()。 A. 有2种 B. 有3种 C. 有4种 D. 唯一的 15.一棵左右子树均不空的二叉树在先序线索化后,其中空链域的个数是()。

数据结构A卷试题及答案

《数据结构》试卷 选择题(从下列答案选项中选出一个正确答案,每小题2分,共22分) 1.在数据结构中,与所使用的计算机无关的是数据的()结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理 2.若线性表最常用的操作是存取第i个元素及其前驱的值,则采用()存 储方式节省时间。 A.单链表 B.双链表 C.顺序表 D.单循环链表 3.已知模式串t=“abcaabbcabcaabdab”,该模式串的next数组值为()。 A.-1,0,0,0,1,1,2,3,0,1,2,3,4,5,6,0,1 B.-1,0,0,0,1,1,2,0,0,1,2,3,4,5,6,0,1 C.-1,1,0,0,1,1,2,0,0,1,2,3,4,5,6,0,1 D.-1,0,0,0,1,1,2,0,0,1,2,3,4,5,6,7,1, 4.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个 元素,其存储地址为1,每个元素占1个地址空间,则a85的地址为()。 A.13 B.33 C.18 D.40 5.一棵含有101个结点的完全二叉树存储在数组bt[102]中,其中bt[0]不用,若bt[k] 是叶子结点,则k的最小值是()。 A.51 B.50 C.49 D.48 6.稀疏矩阵一般的压缩存储方法有两种,即()。 A.二维数组和三维数组 B.三元组表和散列表 C.三元组表和十字链表 D.散列表和十字链表 7.对顺序存储的18个数据元素(A[1]~A[18])的有序表做二分查找,则查找A[3]的 比较序列的下标为( )。 A.1,2,3 B.9,5,2,3

C.9,5,3 D.9,4,2,3 8.用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与 图中的结点的个数有关,而与图的边数无关,这种说法()。 A.正确 B.错误 9.下列排序算法中,某一趟排序结束后未必能选出一个元素放在最终位置上的是( )。 A.堆排序 B.冒泡排序 C.直接插入排序 D.快速排序 10.在平衡二叉树中插入一个结点后造成了不平衡,设最小不平衡子树之根为A,并已 知A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则应作()型 调整使其平衡。 A.LL B.LR C.RL D.RR 11.在解决计算机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机 将要输出的数据依次写入该缓冲区,而打印机依此从该缓冲区中取出数据打印,该 缓冲区应是一个()结构。 A.堆栈 B.队列 C.顺序表 D.链表 二、填空题(每空2分,共18分) 1.以下程序段的时间复杂度是________________________,其中n为正整数。 int i=1; while(i<=n) i=i*2; 2.对顺序存储结构的线性表,设表长为n;在等概率假设条件下,插入一个数据元素 需平均移动表中元素______________个;在最坏情况下需移动表中元素 ______________个。 3.设树T的度为4,其中度为1、2、3、4的结点的个数分别为4、3、2、1,则树T 的叶子结点的个数是。 4.判定一个环形队列qu(最多元素为MaxSize)为空的条件是 __________________________________________,判定环形队列qu为满队列的条

2020年数据结构期末考试题及答案A

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构B.数据结构C.数据的逻辑结构 D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C 。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.在以下的叙述中,正确的是 B 。 A.线性表的顺序存储结构优于链表存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 8.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着B 。 A.数据元素具有同一特点

B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 9.链表不具备的特点是 A 。 A.可随机访问任一结点B.插入删除不需要移动元素 C.不必事先估计存储空间D.所需空间与其长度成正比 10.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 D 存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表C.双链表 D.带头结点的双循环链表 11.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表 B.静态链表C.线性链表 D.顺序存储结构 12.非空的循环单链表head的尾结点(由p所指向)满足 C 。 A.p->next == NULL B.p == NULL C.p->next ==head D.p == head 13.在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A.p->prior->prior=s B.p->prior->next=s C.s->prior->next = s D.s->prior->prior = s 14.栈和队列的共同点是 C 。 A.都是先进后出 B.都是先进先出 C.只允许在端点处插入和删除元素 D.没有共同点 15.一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 C 。 A.edcba B.decba C.dceab D.abcde 16.一个队列的入队序列是1,2,3,4,则队列的输出序列是 B 。 A.4,3,2,1 B.1,2,3,4

数据结构试题A答案

陕西科技大学试题纸(A参考答案及评分标准) 课程数据结构班级信息、数学05 学号姓名 请在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在括号内。1.设一个栈的输入序列为1,2,3,4,则借助一个栈所得的输出序列不可能是(D)。 A.1,2,3,4 B.4,3,2,1 C.1,3,4,2 D.4,1,2,3 2. 设有80行的二维数组A[80][60],其元素长度为4字节,按行优先顺序存储, 基地址为300,则元素A[18][25]的存储地址为(D)。 A.3800 B.4376 C.3900 D.4720 3. 将一棵有100个节点的完全二叉树从根这一层开始,每一层上从左到右依次 对结点进行编号,根节点的编号为0,则编号为49的结点的左孩子编号为(B)。 A.98 B.99 C.50 D.49 4. 在长度为n的顺序存储的线性表中,删除第i个元素(1≤i ≤n)时,需要从 前向后依次前移(A)个元素。 A.n-i B.n-i+1 C.n-i-1 D.i 5. 栈的插入和删除操作在(A)进行。 A.栈顶B.栈底C.任意位置D.指定位置 6. 链表适用于(A)查找。 A.顺序B.二分法C.二分法、顺序D.随机 7. 深度为6(根结点的层次为1)的二叉树至多有(D)个结点。 A.64 B.32 C.31 D.63 8. 用邻接表表示图进行广度优先遍历时,通常是采用(B)来实现算法的。 A.栈B.队列C.树D.图 9. 设有两个串p和q,求q在p中首次出现的位置的运算称作(B)。 A.连接B.模式匹配C.求子串D.求串长 10.若某线性表中最常用的操作是取第i个数据元素,则采用(D)存储方式最节 省时间。 A.单链表B.双链表C.单向循环D.顺序表 11.三个结点可构成(D)个不同形态的二叉树。 A.2 B.3 C.4 D.5 12.下列关键字序列中,(D)是堆。 A.16,72,31,23,94,53 B.94,23,31,72,16,53 C.16,53,23,94,31,72 D.16,23,53,31,94,72

2011级数据结构试卷A及答案 - 副本 (2)

accesses. (C) Eliminate the recursive calls. (D) Reduce main memory use. (7) Given an array as A[m] [n]. Supposed that A [0] [0] is located at 644(10) and A [2] [2] is stored at 676(10), and every element occupies one space. “(10)” means that the number is presented in decimals. Then the element A [1] [1](10) is at position: ( D) (A) 692 (B) 695 (C) 650 (D) 660 (8) If there is 1MB working memory, 4KB blocks, and yield 128 blocks for working memory. By the multi-way merge in external sorting, the average run size and the sorted size in one pass of multi-way merge on average are separately ( C)? (A) 1MB, 128 MB (B) 2MB, 512MB (C) 2MB, 256MB (D) 1MB, 256MB (9) In the following sorting algorithms, which is the best one to find the first 10 biggest elements in the 1000 unsorted elements? ( B ) (A) Quick-sort (B) Heap sort (C ) Insertion sort (D) Replacement selection (10) Assume that we have eight records, with key values A to H, and that they 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 F G E if the list is organized by the Move-to-front heuristic, then the final 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 2. Fill the blank with correct C++ codes: (16 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 greatest value less than K when K itself does not appear in the array. Return ERROR if the lest value in the array is greater than K: (10 scores) // Return position of greatest element < K int newbinary(int array[], int n, int K) { int l = -1; int r = n; // l and r beyond array bounds while (l+1 != r) { // Stop when l and r meet ___ int i=(l+r)/2_____;// Look at middle of subarray if (K < array[i]) __ r=i ___; // In left half if (K == array[i]) return i ; // Found it if (K > array[i]) ___ l=i ___ // In right half } // K is not in array or the greatest value is less than K if K> array[0] (or l!= -1)// the lest value in the array is greater than K with l updated return l ; // when K itself does not appear in the array else return ERROR; // the integer with the lest value greater than K }

2数据结构试卷a答案

2011~2012学年第 1 学期期末考试试卷(A 卷) 课程名称: 数据结构 任课教师姓名: 卷面总分: 100 分 考试时长: 100 分钟 考试类别:闭卷 院(系): 专 业: 年级: 2010 姓 名: 学 号: 阅卷教师(签字): 一、 单项选择题(每题2分,共10题20分) 1.以下那一个术语与数据的存储结构无关? 。 A .栈 B .哈希表 C .线索树 D .双向链表 2.链表不具有的特点是 。 A .插入、删除不需要移动元素 B .可随机访问任一元素 C .不必事先估计存储空间 D .所需空间与线性表长度成正比 3.算术表达式a+b*(c+d/e )转为后缀表达式后为 。 A .ab+cde/* B .abcde/+*+ C .abcde/*++ D .abcde*/++ 4.二维数组A[10][20]采用列优先的存储方法,若每个元素占2个存储单元,设A[0][0]的地址为100,则元素A[7][6]的存储地址为 。 A .232 B .234 C .390 D .392 装 订 线

5.若一棵二叉树具有10 个度为2 的结点,5 个度为1 的结点,则度为0 的结点个数是 B 。 A.9 B.11 C.15 D.不确定6.一棵二叉树中序序列为FEABDC,后序序列为FBADCE,则层序序列为 D 。 A. ABCDEF B. EFCDBA C. FECDAB D. 7.在有向图G 的是 D 。 A.G 中有弧 B.G 中有一条从Vi 到Vj 的路径C.G 中没有弧 D.G 中有一条从Vj 到Vi 的路径 8.对于二叉排序树,下面的说法 C 是正确的。 A.二叉排序树是动态树表,查找不成功时插入新结点时,会引起树的重新分裂和组合(不用移动元素的树) B.对二叉排序树进行层序遍历可得到有序序列(应该是中序遍历) C.用逐点插入法构造二叉排序树时,若先后插入的关键字有序,二叉排序树的深度最大 D.在二叉排序树中进行查找,关键字的比较次数不超过结点数的1/2(取决于二叉排序树的形状) 9.一组记录的关键字为{47、75、55、30、42、90},则用快速排序方法并以第一个记录为支点得到的第一次划分结果是。 A. 30,42,47,55,75,90 B. 42,30,47,75,55,90 C. 42,30,47,55,75,90 D. 42,30,47,90,55,75 10.下述文件中适合于磁带存储的是。 A. 顺序文件 B. 索引文件 C. 散列文件 D. 多关键字文件 顺序文件:原理是顺序表查找法 索引文件:原理是线性索引查找(如最大关键码和次关键码)

数据结构期末考试试题A答案

《数据结构》试题答案A卷 姓名班级 一、回答下列问题 (每题5分,共40分) 1.给定序列(67,45,87,19,55,32,70,60,90,23),写出它的初始堆序列。 答:调整后的初始堆序列(小根堆)为:19,23,32,45,55,87,70,60,90,67 或者是大根堆:90, 67, 87, 60, 55, 32, 70, 45, 19, 23 2.设一个序列奇数项和偶数项分别由小到大有序,用什么方法可以最快得到一个有序序列,分析它的时间复杂度。 答:把奇数项和偶数项分为2个有序序列,然后进行合并,时间复杂度为O(n)。实际上就是把2个有序表合并为一个有序表。见教科书算法2.7。 3.二叉排序树中的最大值在二叉排序树的何处? 答:最大值应该位于二叉排序树中根的右子树的最右叶子上。 19 23 32 45 55 70 60 90

4.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序是否比用锦标赛排序更快?为什么? 答:此题用锦标赛排序比堆排序要快。理由是; ①在首次求最小值时,锦标赛排序对2048个结点建树得到最小码只需比较n-1(即2047)次,而此时堆排序建初始堆得到最小码却可能需要比较4072次(因为每个结点的调整都要与左右两边的孩子相比。从第1024个结点往前调整,有512个结点可能调整1次,但要与左右孩子都比较,有256个结点可能调整2次,每次都要与左右孩子比较,有128个结点可能调整3次,……有32个结点调整5次,……根结点可能要调整10次,每次都会与左右孩子比较,所以可能会比较2036×2=4072次)。 而两种算法对求后面4个次小码的平均效率相同,都是log2n,所以,此题用锦标赛排序会比堆排序快。 5.n个顶点、m条边的全连通图,至少去掉几条边才能构成一棵树? 答:因为树的结构是一对多,即n个结点的树只有n-1条边与双亲结点相连。只要再多添一条边就会成为图结构。所以,m条边的图要去掉m-(n-1)=m-n+1条边才能构成一棵树。这棵树也就是最小生成树。 6.设模式串为:liuwenliuyuliuyingliyu, 求该模式串的next函数。 答:Next[j]=0 1 1 1 1 1 1 2 3 4 1 1 2 3 4 1 7.一个二叉树按层次遍历的顺序存储结构如下,请画出该二叉树(φ为空) 。 答:画出二叉树如下: 8.设数组A[ 1..10, 1..8 ] 的基地址为2000,每个元素占2个存储单元,若以列序为主序存储(按列存储),则元素A[ 4,5 ] 的存储地址是多少? 答:A[ 4,5 ] 的存储地址是2086

华清远见数据结构考试题A卷

华清远见数据结构考试题A卷 一、选择题 1.下面哪种排序法对123456798在空间和时间上最优( ) A.快速排序 B.冒泡排序 C.插入排序 D.堆排序 2.就排序算法所用的辅助空间而言,堆排序,快速排序,归并排序的关系是( ) A.堆排序<快速排序 <归并排序 B.堆排序<归并排序<快速排序 C.堆排序>归并排序>快速排序 D.堆排序>快速排序>归并排序 E.以上答案都不对 3.一株二叉树的以某种遍历方式的序列为A、B、C、D、E、F、G, .若该二叉树的根结点为E,则它的一种可能的前序遍历为___ ,相应的后序遍历为__ A. ECBADFG, BDCAFGE B. ECBADFG, EFACDBG C. ECBADGF, EACBDGF D. EACBDGF, BDCAFGE (常见题型,给出树的前序遍历和中序遍历,中序和后续遍历,推出二叉树) 4.关于图和树,下面说法正确的是_ A.树和图都允许有环 B.图的深度遍历和广度遍历结果可能一样 C.二叉树是每个节点都有两个孩子节点的树 D.二叉树的前序遍历和后序遍历结果肯定不一样 5.完成在双循环链表结点 p之后插入s的操作是( ) A. p->next=s ; s->priou=p; p->next: >priou=s ;s->next=p->next; B. p->next->priou=s; p->next=s; s->priou=p; s->next=p->next; C. s->priou=p; s->next=p->next; p->next=s; p->next->priou=s ; D. s->priou=p; s->next=p->next; p->next->priou=s; p->next=s; 二、填空题

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、下列关于AOE网的叙述中,不正确的是()。 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、已知关键字序列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、下列关于无向连通图特性的叙述中,正确的是()。 Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1 A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ 8、有n(n>0)个分支结点的满二叉树的深度是()。 A.n2-1 B.log2(n+1)+1 C.log2(n+1) D.log2(n-l) 9、每个结点的度或者为0或者为2的二叉树称为正则二叉树。n个结点的正则二叉树中 有()个叶子。 A.log2n B.(n-1)/2 C.log2n+1 D.(n+1)/2 10、在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是()。 A.直接插入排序 B.起泡排序 C.简单选择排序 D.快速排序 二、填空题 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、文件可按其记录的类型不同而分成两类,即______和______文件。

南京大学《数据结构》期末试卷(含答案)

考试科目名称 数据结构 〔A1 卷〕 1、填空题。〔每题 2 分,此题总分值 20 分〕 (1) C++语言中,数组是按行优先顺序存储的,假设定义了一个二维数组 A[20][30],每个元 素占两个字节,其起始地址为 2140,那么二维数组 A 的最后一个数据元素的地址为 2140+2*(30*20-1) = 3338(3338,3339) 。 (2) 假设 A ,B 是两个单链表,链表长度分别为 n 和 m ,其元素值递增有序,将 A 和 B 归并 成一个按元素值递增有序的单链表,并要求辅助空间为 O(1),那么实现该功能的算法的时间复杂度为 O(m+n) 。 (3) 快速排序的平均时间复杂度是 n*lg n 。 (4) 假设有一个包含 9 个元素的最小堆,存放在数组 A 中,那么一定比 A[3]大的元素有_ _2 (A[7],A[8]) 个;一定比 A[3]小的元素有 2 (A[0],A[1]) 个。〔元素从第 0 个位 置开始存放〕 (5) 广义表(((A)),(B,C), D, ((A), ((E,F)))) 的长度是 4 ,深度是 4 。 (6) 有 10 个元素的有序表,采用折半查找,需要比拟 4 次才可找到的元素个数为 3 。 (7〕当两个栈共享一存储区时,栈利用一维数组 A[n]表示,两栈顶指针为 top[0]与 top[1], 那么栈满时的判断条件 为 top[0]+1=top[1]_ 或者 top[0] = top[1]+1 。 (8) 假设计算斐波那契数的函数 Fib(long n)定义如下: long Fib(long n){ if(n<=1) return n; else return Fib(n-1)+Fib(n-2)} 计算 Fib(5)时的递归调用树〔即指明函数调用关系的树〕的高度是 4 子结点所在的高度为 0。 。假设叶 (9) (10) 假设用子女—兄弟链表方式表示森林,对应的二叉树的根结点是 p ,那么森林的第三棵 树的根结点在二叉树中对应的结点是: p->rightchild->rightchild 。假 2、选择题。〔每题 2 分,此题总分值 20 分〕 (1) 如果能够在只知道指针 p 指向链表中任一结点,不知道头指针的情况下,将结点*p 从链 表中删除,那么这个链表结构应该是: ( B ,C )〔多项选择题〕 A. 单链表 B. 循环链表 C. 双向链表 D. 带头结点的单链表 (2) 以下哪种矩阵压缩存储后会失去随机存取的功能?( A ) A. 稀疏矩阵 B. 对称矩阵 C. 对角矩阵 D. 上三角矩阵 (3) 下面哪一方法可以判断出一个有向图是否有环〔回路〕:( B ) (选 A ,B 也对) A. 广度优先遍历 B. 拓扑排序 C. 求最短路径 D.求关键路径 (4) n 个结点的线索二叉树(没有头结点)上含有的线索数为〔 B 〕 得分 得分

数据结构2021试题(A)-答案

数据结构2021试题(A)-答案 数据结构2021试题(A)-答案 武汉大学计算机学院 2021年-2021学年第二学期“数据结构”考试试题(A) 姓名 学号(序号)_ 班号 要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。每张答题纸都要写上姓名和序号。 一、单项选择题(每小题2分,共20分) 1. 在存储数据时,通常不仅要存储各数据元素的值,而且还要存储。A. 数据的处理方法 B. 数据元素的类型 C. 数据元素之间的关系 D. 数据的存储方法2. 下述函数中渐进时间复杂度最小是。A.T1(n)=nlog2n+5000n 2 B.T2(n)=n2-8000n C.T3(n)= nlogn-6000n D.T4(n)=1000nlog2n+7000log2n 3. 设线性表有n高。 A.输出第i(1≤i≤n)个元素值 B.交换第1个元素与第2个元素的值 C.顺序输出这n个元素的值 D.输出与给定值x相等的元素在线性表中的序号 4. 设n个元素进栈序列是p1,p2,p3,…,pn,其输出序列是1,2,3,…,n,若p3=3,则p1的值。 A.可能是2 B.一定是2 C.不可能是1 D.一定是1 5. 以下各种存储结构中,最适合用作链队的链表是。 A.带队首指针和队尾指针的循环单链表 B.带队首指针和队尾指针的非循环单 链表C.只带队首指针的非循环单链表 D.只带队首指针的循环单链表6. 对于 链串s(长度为n,每个结点存储一个字符),查找元素值为ch的算法的时间复杂度为。 A.O(1) B.O(n) C.O(n2) D.以上都不对 7. 设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素a[3][5]的存储地址为1000,则a[0][0]的存储地址是。 A.872 B.860 C.868 D.864

数据结构试卷A及数据结构试卷及答案

C ) (1)12534 (2)12435 (3)14325 (4)12345

8.散列表中的冲突是指() (1)两个元素具有相同的序号(2)两个元素的关键字相同,而其他属性相同(3)不同的关键字对应相同的存储地址(4)数据元素的地址相同 9. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址:() (1)必须是连续的(2)部分地址必须是连续的 (3)一定是不连续的(4)连续或不连续都可以 10.下面程序段的时间复杂度为() for (int i=1;i

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