数据结构期末试题1及答案

数据结构期末试题1及答案


2024年1月4日发(作者:)

试卷 A

1、顺序表中所有结点的类型必须相同。 ( )

2、链接表中所有灵活利用存储空间,所以链表都是紧凑结构。 ( )

3、用Ch1,Ch2表示两个字符,若Ord(Ch1)<Ord(Ch2),则称Ch1<Ch2

4、Shell排序方法是不稳定的 。 ( )

5、只允许最下面的二层结点的度数小于2的二叉树是完全二叉树( )

6、若检索所有结点的概率相等,则内部路径长度大的二叉树其检索效率高。 ( )

7、n个结点的有向图,若它有n(n-1)条边,则它一定是强连通的。

8、广义表中,若限制表中成分的共享和递归所得到的结构是树结构 )

9、多维数组元素之间的关系是线性的。 ( )

10、任何无环的有向图,其结点都可以排在一个拓扑序列里。 ( )

11、数据的逻辑结构可形式地用一个二元组B=(K,R)来表示,其中K是__________,R是_____________。

12、广义表(a,(a,b),d,e,((i,j),k))的长度是 。

13、一个串,除自身之外的所有子串都是该串的 。

14、树形选择排序总的时间开销为 。

15、按先根次序法周游树林正好等同于按 周游对应的二叉树。

16、外部路径长度E定义为从扩充二叉树的 到每个

的路径长度之和。

17、在图结构中,如果一个从Vp到Vq的路径上除Vp和Vq可以相同外,其它结点都不相同,则称此路径为一 称为回路。

18、栈是一种 表。

19.带权的 又称为网络。

20、n×n的三对角矩阵按“行优先顺序”存储其三对角元素,已和a11的存储地址为LOC(a11),矩阵的每个元素占一个存储单元,则aij(i=1,j=1,2或1<i<n,j=i-1,i,i+1或i=n,j=n-1,n)的存储地址为LOC(aij)= 。

第 1 页(共 8 页)

21、对于单链表形式的队列,队空的条件是 ( )

A、 F=R=nil B、 F=R

C、 F≠nil且R=nil D、 R-F=1

22、下述排序算法中,稳定的是 ( )

A、 直接选择排序 B、 表插入排序

C、 快速排序 D、 堆排序

23、四组含C1~C7的结点序列中,哪一种是下列有向图的拓扑序列( )

A、C1,C2,C6,C7,C5,C4,C3

B、 C1,C2,C6,C3,C4,C5,C7

C、 C1,C4,C2,C3,C5,C6,C7 D、 C5,C7,C4,C1,C2,C6,C3

24、下列广义表中,长度为2的有( )

A=(a,b) B=((c,(a,b)),d)

C=(c,(a,b)) D=((a,b),(c,(a,b)))

① A ② A,C

③ A,B ④ A,B ,C,D

25、树最适合用来表示( )。

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

C 、元素之间具有分支层次关系的数据

第 2 页(共 8 页)

D、 元素之间无联系的数据

26、判定一个栈ST(最多元素为m0)为空的条件是( )。

A、ST->top!=0 B、 ST->top==0

C、ST->top!=m0 D、 ST->top==m0

27、在一个单链表中,若删除p所指结点的后续结点,则执行( )。

A、p->next=p->next-next;

B、 p=p->next;p->next=p->next->next;

C、 p->next=p->next;

D、 p=p->next->next

28、递归函数f(n)=f(n-1)+n(n>1)的递归体是( )。

A、 f(1)=0 B、 f(0)=1

C、 f(n)=f(n-1)+n D、 f(n)=n

29、广义表((a,b),c,d)的表尾是( )。

A 、a B 、b C、 (a,b) D 、(c,d)

30、在线索化二叉树中,t所指结点没有左子树的充要条件是( )。

A、t->left==NULL B、t->ltag==1

C、t->ltag==1且t->left==NULL D、以上都不对

31、在双链表中,要在指针变量P所指结点之后插入一个新结点,请按顺序写出必要的算法步骤。

(设:P所指结点不是链表的首尾结点,q是与p同类型的指针变量)

32、已知待排序文件各记录的排序码顺序如下

72 73 71 23 94 16 05 68

请列出快速排序过程中每一趟的排序结果。

33、已知一查二叉树的中序序列为cbedahgijf,后序序列为cedbhjigfa,画出该二叉树,并且写出该二叉树的先序序列。

34、画出下列网络的最小生成树。

第 3 页(共 8 页)

5、画出广义表W(X(W,a,Y(W)),Y(W)) 的双链图表示

36、下面给出了起泡排序算法,请填写算法中的空框,使算法正确。

struct node {

int key;

datatype info;

} node,*lnode;

int i,j;

int flag;

node X;

node R[n];

① [每循环一次作一次起泡]

循环 i以1为步长,从1到n-1,执行下列语句

(1)( )

(2)循环 j以1为步长,( ),执行

若( )<R[j].key

则flag ← 1;

X←R[j];( );R[j+1] ← X

(3)若( )

则跳出循环

第 4 页(共 8 页)

② 算法结束

37、下面给出了在对称序穿线树中找指定结点在后序下的前驱算法,请填写算法中的空框,使算法正确。

struct node {

datatype info;

node *llink,*rlink;

} *lnode;

lnode p; [p指向指定结点]

lnode q; [q指向指定结点在后序下的前驱]

① 若p->rlink>0

则( ),算法结束

否则q ← p

② (1) 循环 当( )时,反复执行

( )

(2) ( )

③ 算法结束

A 卷

一.判断题(每小题 1 分,共 10 分)

1.× 2.× 3.√ 4.√ 5.×

6.× 7.√ 8.√ 9.× 10.√

第 5 页(共 8 页)

二.填空题(每小题 2 分,共 20 分)

11.结点的有穷集合、 K上关系的有穷集合;

12.5 13.真子串; 14.O(n·log2n); 15.前序法;

16.根、 外部结点 17.简单路径; 18.线性表;

19.连通图; 20.Loc(a11)+2*(i-1)+j-1。

三.单项选择题(每小题 2 分,共 20 分)

21.A 22.B 23.D 24.④ 25、C

26、B 27、A 28、C 29、 D 30、B

四、简答题(每小题 6 分,共 30 分)

31.q=(linklist)malloc(sizeof(linklist);

q->llink ← p;

q->rlink ← p->rlink;

p->rlink->llink ← q;

p->rlink ← q。

32.答:各趟结果如下:

[68 05 71 23 16] 72 [94 73]

[16 05 23] 68 [71] 72 [94 73]

[05] 16 [23] 68 [71] 72 [94 73]

05 16 [23] 68 [71] 72 [94 73]

05 16 23 68 71 72 [94 73]

05 16 23 68 71 72 [73] 94

05 16 23 68 71 72 73 94

33.答:

第 6 页(共 8 页)

node k1 k2 k3 k4 k5 k6

key 2 4 6 9 11 16

key mod 7 2 4 6 2 4 2

0

1

2

3

4

5

6

7

k4

node link

7

5

3

k1

k6

k2

k5

k3

34.答:

35.答:

第 7 页(共 8 页)

五、算法设计题(每小题 10 分,共 20 分)

36.(1) flag ← 0;

(2) 1到n-1;

(3) R[j+1].key;

(4) R[j] ← R[j+1];

(5) flag=0

37.(1) q ← p↑.rlink

(2) q.↑link < 0

(3) q ← (-1)*(q↑.llink)

(4) q ← q↑.llink

第 8 页(共 8 页)


发布者:admin,转转请注明出处:http://www.yc00.com/web/1704381619a1347162.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论