当前位置:文档之家› 数据结构练习题(含答案)

数据结构练习题(含答案)

数据结构练习题(含答案)
数据结构练习题(含答案)

数据结构练习题

习题1 绪论

1.1 单项选择题

1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。

① A.操作对象B.计算方法C.逻辑结构D.数据映象

② A.存储结构B.关系C.运算D.算法

2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。

① A.算法B.数据元素C.数据操作D.数据对象

② A.操作B.映象C.存储D.关系

3. 在数据结构中,从逻辑上可以把数据结构分成。

A.动态结构和静态结构B.紧凑结构和非紧凑结构

C.线性结构和非线性结构D.内部结构和外部结构

4. 算法分析的目的是①,算法分析的两个主要方面是②。

① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系

C. 分析算法的效率以求改进

D. 分析算法的易懂性和文档性

② A. 空间复杂性和时间复杂性 B. 正确性和简明性

C. 可读性和文档性

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

5. 计算机算法指的是①,它必具备输入、输出和②等五个特性。

① A. 计算方法 B. 排序方法

C. 解决问题的有限运算序列

D. 调度方法

② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性

C. 确定性、有穷性和稳定性

D. 易读性、稳定性和安全性

1.2 填空题(将正确的答案填在相应的空中)

1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。

2. 在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。

3. 在树形结构中,树根结点没有结点,其余每个结点有且只有个直接前驱结点,叶子结点没有结点,其余每个结点的直接后续结点可以。

4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。

5. 线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。

6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ __ , _ ___。

7. 分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是__ __。

for (i=0;i

for (j=0;j

A[i][j]=0;

8. 分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是__ __。

for (i=0;i

for (j=0; j

A[i][j]=0;

9. 分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是__ __。

s=0;

for (i=0;i

for (j=0;j

for (k=0;k

s=s+B[i][j][k];

sum=s;

10. 分析下面算法(程序段)给出最大语句频度,该算法的时间复杂度是__ __。

i=s=0;

while (s

s+=i; //s=s+i }

11. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __。

i=1;

while (i<=n) i=i*2; 1.3 算法设计题

1. 试写一算法,自大到小依次输出顺序读入的三个数X,Y 和Z 的值.

2. 试写一算法,求出n 个数据中的最大值。写出最大语句频度,该算法的时间复杂度。 习题答案

1.1 1. C , A

2. B,D

3. C

4. C, A

5. C,B 1.2 1. 线性结构、树形结构、图形结构,非线性结构 2. 没有、1、没有、1

3. 前驱、1、后续、任意多个

4. 任意多个

5. 一对一、一对多、多对多

6. 有穷性、确定性、可行性、输入、输出

7. 最大语句频度:n 2 , 时间复杂度:. O (n 2

)

8. 最大语句频度:n (n+1)/2 , 时间复杂度:. O (n 2

)

9. 最大语句频度:n 3 , 时间复杂度:. O (n 3

) 10. 最大语句频度:n 12

, 时间复杂度:. O (n 1

2

) 11. 最大语句频度:log 2n , 时间复杂度:. O (log 2n )

习题2 线性表

2.1 单项选择题

1. 一个向量(即一批地址连续的存储单元)第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是__ __。

A. 110

B. 108

C. 100

D. 120

2. 线性表的顺序存储结构是一种__ _的存储结构,而链式存储结构是一种__ _的存储结构。

A .随机存取

B .索引存取

C .顺序存取

D .散列存取 3. 线性表的逻辑顺序与存储顺序总是一致的,这种说法__ _。

A. 正确

B. 不正确

4. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址__ _。

A. 必须是连续的

B. 部分地址必须是连续的

C. 一定是不连续的

D. 连续或不连续都可以 5. 在以下的叙述中,正确的是__ _。

A. 线性表的顺序存储结构优于链表存储结构

B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况

C. 线性表的链表存储结构适用于频繁插入/删除数据元素的情况

D. 线性表的链表存储结构优于顺序存储结构

6. 每种数据结构都具备三个基本运算:插入、删除和查找,这种说法__ _。

A. 正确

B. 不正确

7. 不带头结点的单链表head 为空的判定条件是____。

A. head= =NULL

B. head->next= =NULL

C. head->next= =head

D. head!=NULL

8. 带头结点的单链表head为空的判定条件是____。

A. head= =NULL

B. head->next= =NULL

C. head->next= =head

D. head!=NULL

9. 非空的循环单链表head的尾结点(由p所指向)满足____。

A. p->next= =NULL

B. p= =NULL

C. p->next= =head

D. p= =head

10. 在双向循环链表的p所指结点之后插入s所指结点的操作是____。

A. p->right=s; s->left=p; p->right->left=s; s->right=p->right;

B. p->right=s; p->right->left=s; s->left=p; s->right=p->right;

C. s->left=p; s->right=p->right; p->right=s; p->right->left=s;

D. s->left=p; s->right=p->right; p->right->left=s; p->right=s;

11. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。

A. s->next=p->next; p->next=s;

B. p->next=s->next; s->next=p;

B. q->next=s; s->next=p;

C. p->next=s; s->next=q;

12. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行____。

A. s->next=p; p->next=s;

B. s->next=p->next; p->next=s;

C. s->next=p->next; p=s; C. p->next=s; s->next=p;

13. 在一个单链表中,若删除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;

14. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较____个结点。

A. n

B. n/2

C. (n-1)/2

D. (n+1)/2

15. 在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是__ __。

A. O(1)

B. O(n)

C. O (n2)

D. O (nlog2n)

16. 给定有n个元素的向量,建立一个有序单链表的时间复杂度是__ __。

A. O(1))

B. O(n)

C. O (n2)

D. O (n*log2n)

2.2 填空题(将正确的答案填在相应的空中)

1. 单链表可以做__ __的链接存储表示。

2. 在双链表中,每个结点有两个指针域,一个指向____ __,另一个指向___ __。

3. 在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作:

q=head;

while (q->next!=p) q=q->next;

s= new Node; s->data=e;

q->next= ; //填空

s->next= ; //填空

4. 在一个单链表中删除p所指结点的后继结点时,应执行以下操作:

q= p->next;

p->next= _ ___; //填空

delete ; //填空

5. 在一个单链表中p所指结点之后插入一个s所指结点时,应执行s->next=__ __和p->next=____的操作。

6. 对于一个具有n个结点的单链表,在已知p所指结点后插入一个新结点的时间复杂度是__ __;在给定值为x的结点后插入一个新结点的时间复杂度是__ __。

2.3 算法设计题:

1.设顺序表va中的数据元数递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。

Status Insert_SqList(SqList &va,int x)

{

if(va.length+1>maxsize) return ERROR;

va.length++;

for(i=va.length-1;va.elem[i]>x&&i>=0;i--)

va.elem[i+1]=va.elem[i];

va.elem[i+1]=x;

return OK;

}

2.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, a2,…. a n)逆置为(a n, a n-1,…., a1)。

void reverse(int a[], int size)

{

int i,j,tmp;

for(i=0, j=size-1; i

{

tmp=a[i];

a[i]=a[j];

a[j]=tmp;

}

}

3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删除结点空间。

void del(LinkList L,elemtype a,elemtype b)

{

p= L;q=p->next;

while(q!=L && q->data

{

p=q;

q=q->next;

}

while(q!=L && q->data

{

r=q;

q=q->next;

free(r);

}

if(p!=q)

p->next=q;

}

4. 试写一算法,实现单链表的就地逆置(要求在原链表上进行)。

void converse(NODEPTR L)

{

NODEPTR p,q;

p=L->next; q=p->next;

L->next=NULL;

while(p) /* 对于当前结点p,用头插法将结点p插入到头结点之后 */

{

p->next=L->next;

L->next=p;

p=q;

q=q->next;

}

}

习题答案

2.1 1. B 2. A, C

3. B

4. D

5. C

6. A

7. A

8. B

9. C 10. D 11.B 12.B 13.A 14.D 15.B 16.C

2.2 1. 线性结表 2. 前驱结点、后继结点

3. s, p

4. q->next, q

5. p->next, s

6. O (1) , O (n)

习题3 栈和队列

3.1 单项选择题

1. 一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是____。

A. edcba

B. decba

C. dceab

D. abcde

2. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为____。

A. i

B. n=i

C. n-i+1

D. 不确定

3. 栈结构通常采用的两种存储结构是____。

A. 顺序存储结构和链式存储结构

B.散列方式和索引方式

C.链表存储结构和数组

D.线性存储结构和非线性存储结构

4. 判定一个顺序栈ST(最多元素为m0)为空的条件是____。

A. top !=0

B. top= =0

C. top !=m0

D. top= =m0-1

5. 判定一个顺序栈ST(最多元素为m0)为栈满的条件是____。

A. top!=0

B. top= =0

C. top!=m0

D. top= =m0-1

6. 栈的特点是____,队列的特点是____。

A. 先进先出

B. 先进后出

7. 向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行__ __。

(不带空的头结点)

A.HS—>next=s;

B. s—>next= HS—>next; HS—>next=s;

C. s—>next= HS; HS=s;

D. s—>next= HS; HS= HS—>next;

8. 从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行__ __。(不带空的头结点)

A. x=HS; HS= HS—>next;

B. x=HS—>data;

C. HS= HS—>next; x=HS—>data;

D. x=HS—>data; HS= HS—>next;

9. 一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是____ 。

A. 4,3,2,1

B. 1,2,3,4

C. 1,4,3,2

D. 3,2,4,1

10. 判定一个循环队列QU(最多元素为m0)为空的条件是____。

A. rear - front= =m0

B. rear-front-1= =m0

C. front= = rear

D. front= = rear+1

11. 判定一个循环队列QU(最多元素为m0, m0= =Maxsize-1)为满队列的条件是____。

A. ((rear- front)+ Maxsize)% Maxsize = =m0

B. rear-front-1= =m0

C. front= =rear

D. front= = rear+1

12. 循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是____。

A. (rear-front+m)%m

B. rear-front+1

C.rear-front-1

D. rear-front

13. 栈和队列的共同点是____。

A. 都是先进后出

B. 都是先进先出

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

D. 没有共同点

3.2 填空题(将正确的答案填在相应的空中)

1. 向量、栈和队列都是____结构,可以在向量的____位置插入和删除元素;对于栈只能在____插入和删除元素;对于队列只能在____插入元素和____删除元素。

2. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动____个元素。

3. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动____个元素。

4. 在具有n 个单元的循环队列中,队满时共有____个元素。

习题答案

3.1 1. C 2. C 3. A

4. B

5.D

6. BA

7.C

8. B

9. C 10. C

11. A 12. A 13.C

3.2 1. 线性、任何、栈顶、队尾、队首 2. n-i+1 3. n-i

4. n-1 习题6 树和二叉树 6.1 单项选择题

1. 由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法____。

A. 正确

B. 错误

2. 假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为 个。 A .15 B .16 C .17 D .47

3. 按照二叉树的定义,具有3个结点的不同形状的二叉树有____种。

A. 3

B. 4

C. 5

D. 6

4. 按照二叉树的定义,具有3个不同数据结点的不同的二叉树有____种。

A. 5

B. 6

C. 30

D. 32

5. 深度为5的二叉树至多有____个结点。

A. 16

B. 32

C. 31

D. 10

6. 设高度为h 的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为_ ___。

A. 2h

B. 2h-1

C. 2h+1

D. h+1

7. 对一个满二叉树,m 个树叶,n 个结点,深度为h ,则____ 。

A. n=h+m

B. h+m=2n

C. m=h-1

D. n=2 h

-1

8. 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序____。

A.不发生改变

B.发生改变

C.不能确定

D.以上都不对

9. 如果某二叉树的前根次序遍历结果为stuwv ,中序遍历为uwtvs ,那么该二叉树的后序为____。 A. uwvts B. vwuts C. wuvts D. wutsv

10. 二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法____。 A. 正确 B. 错误

11. 某二叉树的前序遍历结点访问顺序是abdgcefh ,中序遍历的结点访问顺序是dgbaechf ,则其后序遍历的结点访问顺序是____。

A. bdgcefha

B. gdbecfha

C. bdgaechf

D. gdbehfca 12. 在一非空二叉树的中序遍历序列中,根结点的右边____。 A. 只有右子树上的所有结点 B. 只有右子树上的部分结点 C. 只有左子树上的部分结点 D. 只有左子树上的所有结点 13. 如图6.1所示二叉树的中序遍历序列是____。

A. abcdgef

B. dfebagc

C. dbaefcg

D. defbagc

14. 一棵二叉树如图6.2__ __。 A. abdgcefh B. dgbaechf D.

abcdefgh

15.设a,b 为一棵二叉树上的两个结点,在中序遍历时,a 在b 前的条件是 。

A .a 在b 的右方

B .a 在b 的左方

C .a 是b 的祖先

D .a 是b 的子孙

16. 已知某二叉树的后序遍历序列是dabec ,中序遍历序列是debac ,它的前序遍历序列是____。 A. acbed B. decab C. deabc D. cedba

17. 实现任意二叉树的后序遍历的非递归算法而不使用栈结构,最佳方案是二叉树采用____存储结构。

A. 二叉链表

B. 广义表存储结构

C. 三叉链表

D. 顺序存储结构 18. 如图6.3所示的4棵二叉树,____不是完全二叉树。

图6.2

20. 在线索化二叉树中,t 所指结点没有左子树的充要条件是____。

A. t —>left=NULL

B. t —>ltag=1

C. t —>ltag=1且t —>left=NULL

D. 以上都不对

21. 二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索,这种说法____。 A. 正确 B. 错误

22. 二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法____。 A. 正确 B. 错误

23. 具有五层结点的二叉平衡树至少有____个结点。

A. 10

B. 12

C. 15

D. 17

24. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这里,我们把由树转化得到的二叉树叫做这棵数对应的二叉树。结论____是正确的。

A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同

B.树的后根遍历序列与其对应的二叉树的后序遍历序列相同

C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同

D.以上都不对

25. 树最适合用来表示____。

A. 有序数据元素

B. 无序数据元素

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

D. 元素之间无联系的数据 6.2 填空题(将正确的答案填在相应的空中)

1. 有一棵树如图6.5所示,回答下面的问题:

⑴ 这棵树的根结点是____; ⑵ 这棵树的叶子结点是____; ⑶ 结点k3的度是____;

⑷ 这棵树的度是____; ⑸ 这棵树的深度是____;

⑹ 结点k3的子女是____;

⑺ 结点k3的父结点是__

2. 指出树和二叉树的三个主要差别____、____、____。__;

3. 从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是___ _。

4. 一棵二叉树的结点数据采用顺序存储结构,存储于数组t 中,如图6.6所示,则该二叉树的链接表示形式为__ __。

5. 深度为k 的完全二叉树至少有____个结点。至多有____个结点,若按自上而下,从左到右次序给结点编号(从1开始),则编号最小的叶子结点的编号是____。

6. 在一棵二叉树中,度为零的结点的个数为n 0,度为2的结点的个数为 n 2,则有n 0=____。

7. 一棵二叉树的第i (i ≥1)层最多有____个结点;一棵有n (n>0)个结点的满二叉树共有____个叶子和____个非终端结点。

8. 结点最少的树为____,结点最少的二叉树为____。

图6.6 一棵二叉树的顺序存储数组t

(A) (B) (C) (D)

图6.3

图6.7 一棵二叉树

图6.8 一棵树 9. 现有按中序遍历二叉树的结果为abc ,问有____种不同形态的二叉树可以得到这一遍历结果,这些二叉树分别是____。 10. 由如图6.7所示的二叉树,回答以下问题:

⑴ 其中序遍历序列为____;

⑵ 其前序遍历序列为____;

⑶ 其后序遍历序列为____;

6.3 简答题

1. 根据二叉树的定义,具有三个结点的二叉树有5种不同的形态,请将它们分别画出。

2. 假设一棵 二叉树的先序序列为EBADCFHGIKJ 和中序序列为ABCDEFGHIJK 。

请画出该树。

3. 由如图6.7所示的二叉树,回答以下问题: (1)画出该二叉树的中序线索二叉树; (2)画出该二叉树的后序线索二叉树;

(3)画出该二叉树对应的森林。

4. 已知一棵树如图6.8所示,转化为一棵二叉树,表示为。

5. 以数据集{4,5,6,7,10,12,18}为结点权值,画出构造Huffman 树的每一步图示,计算其带权路径长度为。

6. 一棵含有N 个结点的k 叉树,可能达到的最大深度和最小深度各为多少?

7. 证明:一棵满k 叉树上的叶子结点数n 0和非叶子结点数n 1之间满足以下关系: n 0=(k-1)n 1+1

6.4 算法设计题

1. 编写按层次顺序(同一层自左至右)遍历二叉树的算法。 2.试编写算法,对一棵二叉树,统计叶子的个数。

3.试编写算法,对一棵二叉树根结点不变,将左、右子树进行交换,树中每个结点的左、右子树进行交换。 7. 假设用于通讯的电文仅有八个字母(a,b,c,d,e,f,g,h)组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10。试为这八个字母设计哈夫曼编码。

使用0-7的二进制表示形式是另一种编码方案。对于上述实例,比较两种方案的优缺点。

8. 试编写算法,对一棵以孩子-兄弟链表表示的树统计叶子的个数。假设一棵 二叉树的先序序列为EBADCFHGIKJ 和中序序列为ABCDEFGHIJK 。请画出该树。

习题答案

6.1 1. B 2. B 3. C 4. C 5. C 6. A

7. D

8. A

9. C 10. A

11. D 2. A 13. B 14. B 15. B 16. D 17. C 18. C 19. B 20. B 21. B 22. B 23. B 24. A 25. C

6.2

1. ⑴ k1 ⑵ k2,k5,k7,k4 ⑶ 2 ⑷ 3 ⑸ 4 ⑹ k5,k6 ⑺ k1

2. 树的结点个数至少为1(不同教材规定不同),而二叉树的结点个数可以为0;

树中结点的最大度数没有限制,而二叉树结点的最大度数为2; 树的结点无左、右之分,而二叉树的结点有左、右之分; 3. 树可采用孩子-兄弟链表(二叉链表)做存储结构,目的并利用二叉树的已有算法解

决树的有关问题。

4. 如图6.9所示

5. 2 k-1 、 2 k -1 、 2 k-2

+1 6. n 2+1

7. 2 i-1 2[log 2n+1]-1 2[log 2n+1] –1

8. 只有一个结点的树;空的二叉树

9. 5;如图6.10所示

图6.9

图 6.15 一棵树的孩子兄弟表

10. dgbaechif 、

、 6.3 1. 5种, 图6.11

2. 二叉树如图6.12所示。

3. 中序线索二叉树如图6.13线索二叉树如图6.13(右)所示;

该二叉树转换后的的森林如图6.14所示。

5. 画出构造Huffman 树如图

6.16所示,计算其带权路径长度为 。

6. 一棵含有N 个结点的k 叉树,可能达到的最大深度 h=N-k+1 ,

最小深度各为: log k N+1。

图6.16 Huffman 树

习题7 图

7.1 单项选择题

1.在一个图中,所有顶点的度数之和等于所有边数的____倍。

A. 1/2

B. 1

C. 2

D. 4

2.任何一个无向连通图的最小生成树。

A.只有一棵

B.有一棵或多棵

C.一定有多棵

D.可能不存在

3.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的____倍。

A. 1/2

B. 1

C. 2

D. 4

4.一个有n个顶点的无向图最多有____条边。

A. n

B. n(n-1)

C. n(n-1)/2

D. 2n

5.具有4个顶点的无向完全图有____条边。

A. 6

B. 12

C. 16

D. 20

6.具有6个顶点的无向图至少应有____条边才能确保是一个连通图。

A. 5

B. 6

C. 7

D. 8

7.在一个具有n个顶点的无向图中,要连通全部顶点至少需要____条边。

A. n

B. n+1

C. n-1

D. n/2

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

A. n

B. (n-1)2

C. n-1

D. n2

9.对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为_①___;所有邻接表中的接点总数是_②___。

① A. n B. n+1 C. n-1 D. n+e

② A. e/2 B. e C.2e D. n+e

10.已知一个图如图7.1所示,若从顶点a出发按深度搜索法进行遍历,则可能得到

的一种顶点序列为__①__;按宽度搜索法进行遍历,则可能得到的一种顶点序列

为__②__。

① A. a,b,e,c,d,f B. e,c,f,e,b,d C. a,e,b,c,f,d D. a,e,d,f,c,b

图 7.1 一个无向图

11.已知一有向图的邻接表存储结构如图7.2所示。

⑴根据有向图的深度优先遍历算法,从顶点v1出发,所得到的顶点序列是____。

A. v1,v2,v3,v5,v4

B. v1,v2,v3,v4,v5

C. v1,v3,v4,v5,v2

D. v1,v4,v3,v5,v2

⑵根据有向图的宽度优先遍历算法,从顶点v1出发,所得到的顶点序列是____。

A. v1,v2,v3,v4,v5

B. v1,v3,v2,v4,v5

C. v1,v2,v3,v5,v4

D. v1,v4,v3,v5,v2

12.采用邻接表存储的图的深度优先遍历算法类似于二叉树的____。

A. 先序遍历

B. 中序遍历

C. 后序遍历

D. 按层遍历

13.采用邻接表存储的图的宽度优先遍历算法类似于二叉树的____。

A. 先序遍历

B. 中序遍历

C. 后序遍历

D. 按层遍历

14.判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以利用____。

A. 求关键路径的方法

B. 求最短路径的Dijkstra方法

C. 宽度优先遍历算法

D. 深度优先遍历算法

15.关键路径是事件结点网络中。

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

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

C.最长的回路

D.最短的回路

16.下面不正确的说法是。

(1)在AOE网中,减小一个关键活动上的权值后,整个工期也就相应减小;

(2)AOE网工程工期为关键活动上的权之和;

(3)在关键路径上的活动都是关键活动,而关键活动也必在关键路径上。

A.(1)

B.(2)

C.(3)

D.(1)、(2)

17.用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印出相应的顶点,则输出的顶点序列是。

A.逆拓朴有序的

B.拓朴有序的

C.无序的

18.在图7.3所示的拓朴排列的结果序列为。

A.125634

B.516234

C.123456

D.521634

19.一个有n个顶点的无向连通图,它所包含的连通分量个数为。

A.0

B.1

C.n

D.n+1

20.对于一个有向图,若一个顶点的入度为k1,、出度为k2,则对应邻接表中该顶点单链表中的结点数为。

A.k1

B.k2

C.k1-k2

D.k1+k2

21.对于一个有向图,若一个顶点的入度为k1,、出度为k2,则对应逆邻接表中该顶点单链表中的结点数为。

A.k1

B.k2

C.k1-k2

D.k1+k2

7.2 填空题(将正确的答案填在相应饿空中)

1.n个顶点的连通图至少____条边。

2.在无权图G的邻接矩阵A中,若(vi,vj)或<vi,vj>属于图G的边集合,则对应元素

A[i][j]等于____,否则等于____。

3.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i ]等于____。

4.已知图G的邻接表如图7.4所示,其从顶点v1出发的深度有限搜索序列为____,其从顶点v1出发的宽度优先搜索序列为____。

5.已知一个有向图的邻接矩阵表示,计算第i个结点的入度的方法是____。

6.已知一个图的邻接矩阵表示,删除所有从第i个结点出发的边的方法是____。

图7.3有向图

7.如果含n 个顶点的图形成一个环,则它有 棵生成树。 8.一个非连通无向图,共有28条边,则该图至少有 个顶点。

9.遍历图的过程实质上是 。BFS 遍历图的时间复杂度为 ,DFS 遍历图的时间复杂度为 ,两者不同之处在于 ,反映在数据结构上的差别是 。

10.一个图的 表示法是唯一的,而 表示法是不唯一的。 11.有向图中的结点前驱后继关系的特征是 。

12.若无向图G 的顶点度数最小值大于等于 时,G 至少有一条回路。 13.根据图的存储结构进行某种次序的遍历,得到的顶点序列是 的。 7.3 综合题

1.已知如图7.5所示的有向图,请给出该图的: (1)每个顶点的入/出度; (2)邻接距阵; (3)邻接表; (4)逆邻接表; (5)强连通分量。

2

(1)

图7.6

(2

3.试列出图7.8中全部的拓扑排序序列。

4.请用图示说明图7.9从顶点a 到其余各顶点之间的最短路径。

5.已知AOE

网有9个结点:V1,V2,V3,V4,V5,V6,V7,V8

,V9,其邻接矩阵如下: (1)请画出该AOE 图。

(2)计算完成整个计划需要的时间。

习题答案

7.1 1. C 2.B 3.B 4. C 5. A 6. A

7.C 8.D 9. AC 10.DB 11. CB 12. A 13. D 14.D 15.A

16.A 17.A 18.B 19.B 20.B 21.A 7.2 1.n-1 2. 1;0 3. 1

4.v1,v2,v3,v6,v5, v4;v1,v2,v5,v4,v3, v6

5.求矩阵第i 列非零元素之和

6. 将矩阵第i 行全部置为零

7.n

8.9

9.对每个顶点查找其邻接点的过程;O (e )(e 为图中的边数);O (e );

遍历图的顺序不同;DFS 采用栈存储访问过的结点,BFS 采用队列存储访问过 的结点。

10.邻接矩阵 邻接表

11.一个结点可能有若干个前驱,也可能有若干个后继 12.2 13.唯一

7.3 1.

2.

(1).

(2)

3.

512634 4.

5.(1)该AOE 图为:

(2)完成整个计划需要18天。 (3)关键路径为:(V1,V2,V5,V7,V9)和(V1,V2, V5,V8,V9,)

习题8 查找

8.1 单项选择题

1.顺序查找法适合于存储结构为____的线性表。

A. 散列存储

B. 顺序存储或链接存储

C. 压缩存储

D. 索引存储

2.对线性表进行二分查找时,要求线性表必须____。

A. 以顺序方式存储

B. 以链接方式存储

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

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

3.采用顺序查找方法查找长度为n 的线性表时,每个元素的平均查找长度为____.

A. n

B. n/2

C. (n+1)/2

D. (n-1)/2

4.采用二分查找方法查找长度为n 的线性表时,每个元素的平均查找长度为____。

A.O(n2) B. O(nlog2n) C. O(n) D. O(log2n)

5.二分查找和二叉排序树的时间性能____。

A. 相同

B. 不相同

6.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值82为的结点时,____次比较后查找成功。

A. 1

B. 2

C. 4

D. 8

7.设哈希表长m=14,哈希函数H(key)=key%11。表中已有4个结点:

addr (15)=4; addr (38)=5; addr (61)=6; addr (84)=7

如用二次探测再散列处理冲突,关键字为49的结点的地址是____。

A. 8

B. 3

C. 5

D. 9

8.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为____。

A. 35/12

B. 37/12

C. 39/12

D. 43/12

9.对于静态表的顺序查找法,若在表头设置岗哨,则正确的查找方式为。

A.从第0个元素往后查找该数据元素

B.从第1个元素往后查找该数据元素

C.从第n个元素往开始前查找该数据元素

D.与查找顺序无关

10.解决散列法中出现的冲突问题常采用的方法是。

A.数字分析法、除余法、平方取中法

B.数字分析法、除余法、线性探测法

C.数字分析法、线性探测法、多重散列法

D.线性探测法、多重散列法、链地址法

11.采用线性探测法解决冲突问题,所产生的一系列后继散列地址。

A.必须大于等于原散列地址

B.必须小于等于原散列地址

C.可以大于或小于但不能等于原散列地址

D.地址大小没有具体限制

12.对于查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。这种方式主要适合于。

A.静态查找表

B.动态查找表

C.静态查找表与动态查找表D两种表都不适合

13.散列表的平均查找长度。

A.与处理冲突方法有关而与表的长度无关

B.与处理冲突方法无关而与表的长度有关

C.与处理冲突方法有关而与表的长度有关

D.与处理冲突方法无关而与表的长度无关

8.2 填空题(将正确的答案填在相应的空中)

1.顺序查找法的平均查找长度为____;折半查找法的平均查找长度为____;哈希表查找法采用链接法处理冲突时的平均查找长度为____。

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

3.折半查找的存储结构仅限于____,且是____。

4. 假设在有序线性表A[1..20]上进行折半查找,则比较一次查找成功的结点数为____,则比较二次查找成功的结点数为____,则比较三次查找成功的结点数为____,则比较四次查找成功的结点数为____,则比较五次查找成功的结点数为____,平均查找长度为____。

5. 对于长度为n的线性表,若进行顺序查找,则时间复杂度为____;若采用折半法查找,则时间复杂度为____;

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

7.二叉排序树的查找长度不仅与有关,也与二叉排序树的有关。

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

9.平衡二叉排序树上任一结点的平衡因子只可能是、或。

10.法构造的哈希函数肯定不会发生冲突。

11.在散列函数H(key)=key%p中,p应取____。

12.在散列存储中,装填因子α的值越大,则____;α的值越小,则____。

8.3 综合练习题:

1. 画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。

4. 选取哈稀函数H(k)=(3k)MOD 11。用开放定址法处理冲突,di=i((7k)MOD 10+1)(I=1,2,3,…).试在0-10的散列地址空间中对关键字序列(22,41,53,46,30,13,01,67)造哈希表,并求等概率情况下查找成功时的平均查找长度。

5. 已知一组关键字{49,38,65,97,76,13,27,44,82,35,50},画出由此生成的二叉排序树,注意边插入边平衡。

习题答案

8.1 1.B 2.C 3.C 4.D 5.B 6.C 7.D 8.B

9.C 10.D 11.C 12.B 13.C

8.2 1. (n+1)/2 、((n+1)*log2(n+1))/n-1 、1+α(α为装填因子)

2. 哈希表查找法

3. 顺序存储结构、有序的

4. 1、2、4、8、5、3.7

(依题意,构造一棵有序二叉树,共12个结点,第一层1个结点,第二层2个结点,第三层4个结点,第四层5个结点,则:ASL=(1*1+2*2+3*4+4*5)/12=37/12)

5. O(n)、O(log2n)

6.2、4、3

7.结点个数n、生成过程

8.二叉排序树

9.0、1、-1

10.直接定址

11.素数

12.存取元素时发生冲突的可能性就越大、存取元素时发生冲突的可能性就越小

习题9 排序

9.1 单项选择题

1. 在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是____。

A. 希尔排序

B. 起泡排序

C. 插入排序

D. 选择排序

2. 设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用____排序法。

A. 起泡排序

B. 快速排序

C. 堆排序

D. 基数排序

3. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是____。

A. 插入排序

B. 选择排序

C. 快速排序

D. 归并排序

4. 一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为____。

A. 79,46,56,38,40,80

B. 38,46, 56,79, 40,84,

C. 84,79,56,46,40,38

D. 84,56,79,40,46,38

5. 一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为____。

A. 38,40,46,56,79,84

B. 40,38,46,79,56,84

C. 40,38,46,56,79,84

D. 40,38,46,84,56,79

6. 一组记录的排序码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为____。

A. 16,25,35,48,23,40,79,82,36,72

B. 16,25,35,48,79,82,23,36,40,72

C. 16,25,48,35,79,82,23,36,40,72

D. 16,25,35,48,79,23,36,40,72,82

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

A. 希尔排序

B. 起泡排序

C. 插入排序

D. 选择排序

8. 排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为____。

A. 希尔排序

B. 归并排序

C. 插入排序

D. 选择排序

9. 用某种排序方法对线性表( 25,84,21,47,15,27,68,35,20)进行排序时,元素序列的变化情况如下:

⑴ 25,84,21,47,15,27,68,35,20

⑵ 20,15,21,25,47,27,68,35,84

⑶ 15,20,21,25,35,27,47,68,84

⑷ 15,20,21,25,27,35,47,68,84

则所采用的排序方法是____。

A. 选择排序

B. 希尔排序

C. 归并排序

D. 快速排序

10. 下述几种排序方法中,平均查找长度最小的是____。

A. 插入排序

B. 选择排序

C. 快速排序

D. 归并排序

11. 下述几种排序方法中,要求内存量最大的是____。

A. 插入排序

B. 选择排序

C. 快速排序

D. 归并排序

12. 快速排序方法在____情况下最不利于发挥其长处。

A. 要排序的数据量太大

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

C. 要排序的数据已基本有序

D. 要排序的数据个数为奇数

9.2 填空题(将正确的答案填在相应的空中)

1. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置需比较____。

2. 在利用快速排序方法对一组记录(54,38,96,23,15,72,60,45,83)进行快速排序时,递归调用而使用的栈所能达到的最大深度为____,共需递归调用的次数为____,其中第二次递归调用是对____一组记录进行快速排序。

3. 在堆排序,快速排序和归并排序中,若只从存储空间考虑,则应首先选取____方法,其次选取____方法,最后选取____方法;若只从排序结果的稳定性考虑,则应选取____方法;若只从平均情况下排序最快考虑,则应选取____方法;若只从最坏情况下排序最快并且要节省内存考虑,则应选取____方法。

4. 在插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序和基数排序中,排序是不稳定的有____。

5. 在在插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序和基数排序中,平均比较次数最少的排序是____,需要内存容量最多的是____。

6. 在堆排序和快速排序中,若原始记录接近正序或反序,则选用____,若原始记录无序,则最好选用____。

7. 在插入和选择排序中,若初始数据基本正序,则选用____;若初始数据基本反序,则选用____。

8. 对n个元素的序列进行起泡排序时,最少的比较次数是____。

9.3 综合题

1. 以关键码序列(503,087,512,061,908,170,897,275,653,426),为例,手工执行以下排序算法,写出每一趟排序结束时的关键码状态:

(1)直接插入排序;

(2)希尔排序(增量d[1]=5);

(3)快速排序;

(4)堆排序;

(5)归并排序;

(6)基数排序。

2. 判别以下序列是否为堆(小顶堆或大顶堆)。如果不是,则把它调整为堆(要求记录交换次数最少)。

(1)(100,86,48,73,35,39,42,57,66,21);

(2)(12,70,33,65,24,56,48,92,86,33)

(3)(103,97,56,38,66,23,42,12,30,52,06,20)

(4)(05,56,20,23,40,38,29,61,35,76,28,100).

习题答案

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

10. C 11. D 12. C

9.2 1. 5

2. 2; 4; (23,38,15)

3. 堆排序、快速排序、归并排序、归并排序、快速排序、堆排序

4. 希尔排序、选择排序、快速排序和堆排序

5. 快速排序、基数排序

6. 堆排序、快速排序

7. 插入排序、选择排序

8. n-1

数据结构-第六章-图-练习题及答案详细解析(精华版)

图 1. 填空题 ⑴ 设无向图G中顶点数为n,则图G至少有()条边,至多有()条边;若G为有向图,则至少有()条边,至多有()条边。 【解答】0,n(n-1)/2,0,n(n-1) 【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。 ⑵ 任何连通图的连通分量只有一个,即是()。 【解答】其自身 ⑶ 图的存储结构主要有两种,分别是()和()。 【解答】邻接矩阵,邻接表 【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。 ⑷ 已知无向图G的顶点数为n,边数为e,其邻接表表示的空间复杂度为()。 【解答】O(n+e) 【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为O(n+2e)=O(n+e)。 ⑸ 已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是()。 【解答】求第j列的所有元素之和 ⑹ 有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。 【解答】出度

⑺ 图的深度优先遍历类似于树的()遍历,它所用到的数据结构是();图的广度优先遍历类似于树的()遍历,它所用到的数据结构是()。 【解答】前序,栈,层序,队列 ⑻ 对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal 算法求最小生成树的时间复杂度为()。 【解答】O(n2),O(elog2e) 【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。 ⑼ 如果一个有向图不存在(),则该图的全部顶点可以排列成一个拓扑序列。 【解答】回路 ⑽ 在一个有向图中,若存在弧、、,则在其拓扑序列中,顶点vi, vj, vk的相对次序为()。 【解答】vi, vj, vk 【分析】对由顶点vi, vj, vk组成的图进行拓扑排序。 2. 选择题 ⑴ 在一个无向图中,所有顶点的度数之和等于所有边数的()倍。 A 1/2 B 1 C 2 D 4 【解答】C 【分析】设无向图中含有n个顶点e条边,则。

数据结构试题库答案

数据结构试题及答案 一、单项选择题 (1)一个算法应该就是()。 A)程序???B)问题求解步骤得描述 C)要满足五个基本属性??D) A与C (2)算法指得就是()。 A)计算机程序???B)解决问题得计算方法 C)排序算法???D)解决问题得有限运算序列。 (3)与数据元素本身得形式、内容、相对位置、个数无关得就是数据得()。 A) 存储结构B) 逻辑结构C)算法D)操作 (4)从逻辑上可以把数据结构分为( )两大类。 A)动态结构、静态结构??B) 顺序结构、链式结构 C)线性结构、非线性结构???D)初等结构、构造型结构 (5)下列叙述中正确得就是()。 A)一个逻辑数据结构只能有一种存储结构 B)数据得逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理得效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理得效率 (6)数据得基本单位就是() ?A) 数据项??B) 数据类型C)数据元素??D)数据变量 (7)下列程序得时间复杂度为() i=0;s=0; while(s

2017年数据结构期末考试题及答案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. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 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-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

数据结构复习题附答案

一.是非题 1. 数据结构(应该是抽象数据类型)可用三元式表示(D,S,P)。其中:D是数据对象,S是D上的关系,P是对D的基本操作集。(f) 2 简单地说,数据结构是带有结构的数据元素的集合。(t) 3 判断带头结点的非空循环单链表(头指针为L)中指针p所指结点是最后一个元素结点 的条件是:p->next==L。(t) 4 线性表的链式存储结构具有可直接存取表中任一元素的优点。(f) 5 线性表的顺序存储结构优于链式存储结构。(f) 6. 在单链表P指针所指结点之后插入S结点的操作是: P->next= S ; S-> next = P->next;。(f) (顺序弄反了S-> next = P->next; P->next= S ;) 7 对于插入、删除而言,线性表的链式存储优于顺序存储。(t) 8. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(f) 9. 栈和队列是操作上受限制的线性表。(t) 10. 队列是与线性表完全不同的一种数据结构。(f) (栈和队列是操作上受限制的线性表) 11. 队列是一种操作受限的线性表,凡对数据元素的操作仅限一端进行。(f) (两端) 12. 栈和队列也是线性表。如果需要,可对它们中的任一元素进行操作。(f) ( “如果需要,可对它们中的任一元素进行操作.” 这里的意思是在O(1)的时间来读和改某个元素。比如数组的直接索引。 栈:如果需要,每一次只能对栈顶的元素进行操作 队列:如果需要,每一次只能对两端,或者只能对队列头的元素进行操作。) 13. 栈是限定仅在表头进行插入和表尾进行删除运算的线性表。(f) 14. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。(f) (二叉树和树相互独立) 15 二叉树是一棵结点的度最大为二的树。(f) (二叉树和树相互独立) 16 赫夫曼树中结点个数一定是奇数。(t) 17 在二叉树的中序遍历序列中,任意一个结点均处在其左孩子结点的后面。(t) (LDR) 18 假设B是一棵树,B′是对应的二叉树。则B的后根遍历相当于B′的后序遍历。(f) (后根遍历相当于中序遍历) 19. 通常,二叉树的第i层上有2i-1个结点。(f) (应该为1~2i-1个) 20. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。(t) 21 二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。(t) 22 由树结点的先根序列和后根序列可以唯一地确定一棵树。(t) 23 邻接多重表可以用以表示无向图,也可用以表示有向图。(f) (只能表示无向图,有向图用十字链表) 24 可从任意有向图中得到关于所有顶点的拓扑次序。(f) (带环图没有) 25 有向图的十字链表是将邻接表和逆邻接表合二为一的链表表示形式。(t)

《数据结构》题库及答案

《数据结构》题库及答案 一、选择题 1.线性表的顺序存储结构是一种 的存储结构,线性表的链式存储结构是一种 的存储结构。 a. 随机存储; b.顺序存储; c. 索引存取; d. HASH 存取 2.一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是 。 a. edcba; b. decba; c. dceab; d.abcde 3.一个队列的入队序列是1,2,3,4,则队列的输出序列是 。 a. 4,3,2,1; b. 1,2,3,4; c. 1,4,3,2; d.3,2,4,1 4.在一个单链表中,已知p 结点是q 结点的直接前驱结点,若在p 和q 之间插入结点s ,则执行的操作是 。 a. s->nxet=p->next; p->next=s; b. p->next=s->next; s->next=p; c. q->next=s; s->next=p; d. p->next=s; s->next=q; 5.设有两个串p,q ,求q 在p 中首次出现的位置的运算称作 。 a.联接 b.模式匹配 c.求子串 d.求串长 6.二维数组M 的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i 的范围从0到8,列下标j 的范围从1到10,则存放M 至少需要 个字节。 a. 90 b.180 c.240 d.540 7.在线索二叉树中,结点p 没有左子树的充要条件是 。 a. p->lch==NULL b. p->ltag==1 c. p->ltag==1且p->lch=NULL d. 以上都不对 8.在栈操作中,输入序列为(A ,B ,C ,D ),不可能得到的输出序列为:______ A 、(A , B , C , D ) B 、(D ,C ,B ,A ) C 、(A ,C ,D ,B ) D 、(C ,A ,B ,D ) 9.已知某二叉树的后序序列是dabec ,中序序列是debac ,则它的先序序列是 。 A 、acbed B 、decab C 、deabc D 、cedba 10.设矩阵A 是一个对称矩阵,为了节省存储空间,将其下三角部分(见下图)按行序存放在一维数组B[1..n(n-1)/2]中,对任一上三角部分元素)(j i a ij ,在一维数组B 的存放位置是 。

数据结构 第六章 图 练习题及答案详细解析

图 1. 填空题 ⑴设无向图G中顶点数为n,则图G至少有()条边,至多有()条边;若G为有向图,则至少有()条边,至多有()条边。 【解答】0,n(n-1)/2,0,n(n-1) 【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。 ⑵任何连通图的连通分量只有一个,即是()。 【解答】其自身 ⑶图的存储结构主要有两种,分别是()和()。 【解答】邻接矩阵,邻接表 【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。 ⑷已知无向图G的顶点数为n,边数为e,其邻接表表示的空间复杂度为()。 【解答】O(n+e) 【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为O(n+2e)=O(n+e)。 ⑸已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是()。 【解答】求第j列的所有元素之和 ⑹有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。 【解答】出度 ⑺图的深度优先遍历类似于树的()遍历,它所用到的数据结构是();图的广度优先遍历类似于树的()遍历,它所用到的数据结构是()。 【解答】前序,栈,层序,队列 ⑻对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal 算法求最小生成树的时间复杂度为()。 【解答】O(n2),O(elog2e) 【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。 ⑼如果一个有向图不存在(),则该图的全部顶点可以排列成一个拓扑序列。 【解答】回路 ⑽在一个有向图中,若存在弧、、,则在其拓扑序列中,顶点vi, vj, vk的相对次序为()。 【解答】vi, vj, vk

数据结构试题及答案(10套最新)

单选题(每题2分,共20分) 1. 1. 对一个算法的评价,不包括如下(B )方面的内容。 A .健壮性和可读性 B .并行性 C .正确性 D .时空复杂度 2.2. 在带有头结点的单链表HL 中,要向表头插入一个由指针 p 指向 的结点,则执行(A )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; 都具有相同的(A )。 A.行号 B .列号 C .元素值 D .非零元素个数 9. 快速排序在最坏情况下的时间复杂度为(D )。 A. O(log 2n) B . O(nlog 2n) C . 0(n) D 10.10. 从二叉搜索树中查找一个元素时,其时间复杂度大致 为 A. O(n) B. O(1) C. O(log 2 n) D. O(n 二、 运算题(每题6分,共24分) 1. 1. 数据结构是指数据及其相互之间的 _________________ 。当结点之 间存在M 对N (M N)的联系时,称这种结构为 __________________________ 。 2. 2. 队列的插入操作是在队列的_ _尾 ________ 行,删除操作是在队 列的 ____ 首 _____ 行。 3. 3. 当用长度为N 的数组顺序存储一个栈时,假定用top==N 表示栈 C. p->next=HL; p=HL; 3. 3. A. C. D. HL=p; p-> next=HL; 对线性表,在下列哪种情况下应当采用链表表示? 经常需要随机地存取元素 B. 表中元素需要占据一片连续的存储空间 一个栈的输入序列为1 2 3, 4. 4. 列的是(C ) A. 2 3 1 C. 3 1 2 AOV 网 是一种(D ) 有向 图 B .无向图 (B ) 经常需要进行插入和删除操作 D.表中元素的个数不变 则下列序列中不可能是栈的输出序 B. 3 2 1 5. 5. 6. .无向无环图 D .有向无环图 采用 开放定址法处理散列表的冲突时,其平均查找长度( B. 高于链接法处理冲突 D .高于二分查找 7. 8. 6. A.低于链接法处理冲突 .与链接法处理冲突相同 7. 参数。 A.值 8. B)。 若需要利用形参直接访问实参时,应将形参变量说明为( B .函数 C .指针 D .引用 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点 9. .0(n 2) (C )。 2 )

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

数据结构期末考试题及答案 、选择题 1.在数据结构中, 从逻辑上能够把数据结构分为 A. 动态结构和静态结构 B .紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2. 数据结构在计算机内存中的表示是指 A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系 3. 在数据结构中, 与所使用的计算机无关的是数据的 结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理 4. 在存储数据时, 一般不但要存储各数据元素的值, 而且还 要存储C A. 数据的处理方法 B. 数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5.在决定选取何种存储结构时般不考虑A 。 A. 各结点的值如何 B. 结点个数的多少 C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 A. 数据项是数据的基本单位

B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据能够有相同的逻辑结构7.算法分析的目的是C , 算法分析的两个主要方面是A 。 (1) A.找出数据结构的合理性 和输出的关系 C. 分析算法的效率以求改进 档性 ( 2) A .空间复杂度和时间复杂度 C. 可读性和文档性 性 8. 下面程序段的时间复杂度是 s = 0; for( I = 0; i v n; i + + ) for( j = 0; j v n; j ++ ) s +二B[i][j]; sum = s ; 9. 下面程序段的时间复杂度是 for( i = 0; i v n; i + + ) for( j = 0; j v m; j ++ ) B .研究算法中的输入 C .分析算法的易读性和文 B .正确性和简明性D .数据复杂性和程序复杂 O( n2) 。 O( n*m) 。

数据结构复习题及答案(12级).

一、选择题。(每小题2分,共40分) (1) 计算机识别.存储和加工处理的对象被统称为____A____。 A.数据 B.数据元素 C.数据结构 D.数据类型 (2) 数据结构通常是研究数据的____ A _____及它们之间的联系。 A.存储和逻辑结构 B.存储和抽象 C.理想和抽象 D.理想与逻辑 (3) 不是数据的逻辑结构是____ A ______。 A.散列结构 B.线性结构 C.树结构 D.图结构 (4) 数据结构被形式地定义为,其中D是____ B _____的有限集,R是____ C _____的有限集。 A.算法 B.数据元素 C.数据操作 D.逻辑结构 (5) 组成数据的基本单位是____ A ______。 A.数据项 B.数据类型 C.数据元素 D.数据变量 (6) 设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是____ A ______。 A.线性结构 B.树型结构 C.图型结构 D.集合 (7) 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为___ C ____。 A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构 (8) 在数据结构的讨论中把数据结构从逻辑上分为___ A ____。 A.内部结构与外部结构 B.静态结构与动态结构 C.线性结构与非线性结构 D.紧凑结构与非紧凑结构 (9) 对一个算法的评价,不包括如下____ B _____方面的内容。 A.健壮性和可读性 B.并行性 C.正确性 D.时空复杂度 (10) 算法分析的两个方面是__ A ____。 A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 (11) 线性表是具有n个___ C _____的有限序列(n≠0)。 A.表元素 B.字符 C.数据元素 D.数据项 (12) 线性表的存储结构是一种____ B ____的存储结构。 A.随机存取 B.顺序存取 C.索引存取 D.HASH存取

算法与数据结构题库与答案

一、单项选择题 1 某算法的时间复杂度是O(n 2 ) ,表明该算法()。 A 问题规模是n2 B 问题规模与n2成正比 C 执行时间等于n2 D 执行时间与n2成正比 2、关于数据结构的描述,不正确的是()。 A数据结构相同,对应的存储结构也相同。 B数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。 C数据结构操作的实现与存储结构有关。 D定义逻辑结构时可不考虑存储结构。 3、按排序策略分来,起泡排序属于()。 A插入排序B选择排序C交换排序D归并排序 4、利用双向链表作线性表的存储结构的优点是()。 A便于进行插入和删除的操作 B 提高按关系查找数据元素的速度 C节省空间D便于销毁结构释放空间 5、一个队列的进队顺序为1,2,3,4,则该队列可能的输出序列是()。 A 1,2,3,4 B 1,3,2,4 C 1,4,2,3 D 4,3,2,1 6、 Dijkstra算法是按()方法求出图中从某顶点到其余顶点最短路径的。 A按长度递减的顺序求出图的某顶点到其余顶点的最短路径 B按长度递增的顺序求出图的某顶点到其余顶点的最短路径 C通过深度优先遍历求出图中从某顶点到其余顶点的所有路径 D通过广度优先遍历求出图的某顶点到其余顶点的最短路径 7、字符串可定义为n( n≥ 0)个字符的有限()。其中,n是字符串的长度,表明字符串中字符的个数。 A集合B数列C序列D聚合 8、在二维数组A[9][10]中,每个数组元素占用 3 个存储单元,从首地址SA 开始按行连续存放。在这种情况下,元素A[8][5]的起始地址为()。 A SA+141 B SA+144 C SA+222 D SA+255 9、已知广义表为L(A(u,v,(x,y),z),C(m,(),(k,l,n),(())),((())),(e,(f,g),h)),则它的长度是()。 A2B3C4D5 10.对于具有n(n>1)个顶点的强连通图,其有向边条数至少有_____。 A. n+1 B. n C. n-1 D. n-2 11.一个递归算法必须包括 __________ 。 A. 递归部分 B . 结束条件和递归部分 C. 迭代部分 D. 结束条件和迭代部分 12.从逻辑上看可以把数据结构分为__________两大类。 A.动态结构、静态结构B.顺序结构、链式结构 C.线性结构、非线性结构D.初等结构、构造型结构 13、若在长度为n 的顺序表的表尾插入一个新元素的渐进时间复杂度为()。 A O(n) B O(1) C O(n 2) D O(log 2n) 14.采用顺序搜素方式搜索长度为 n 的线性表时,在等概率情况下,搜索成功时的平均搜索 长度为 __________。 A. n B. n/2 C . (n+1)/2 D. (n-1)/2 15、非空的循环单链表first的链尾结点(由p 所指向)满足()。 A p->link==NULL; B P==NULL;

数据结构(c语言版)期末考试复习试题

《数据结构与算法》(c语言版)期末考复习题 一、选择题。 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.算法分析的目的是 C ,算法分析的两个主要方面是 A 。(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2) 。 s =0; for( I =0; i

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

2005年-2006学年第二学期“数据结构”考试试题(A) 姓名学号(序号)_ 答案隐藏班号 要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。每张答题纸都要写上姓名和序号。 一、单项选择题(每小题2分,共20分) 1.数据的运算a 。 A.效率与采用何种存储结构有关 B.是根据存储结构来定义的 C.有算术运算和关系运算两大类 D.必须用程序设计语言来描述 答:A。 2. 链表不具备的特点是 a 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比 答:参见本节要点3。本题答案为:A。 3. 在顺序表中删除一个元素的时间复杂度为 c 。 A.O(1) B.O(log2n) C.O(n) D.O(n2) 答:C。 4.以下线性表的存储结构中具有随机存取功能的是 d 。 A. 不带头结点的单链表 B. 带头结点的单链表 C. 循环双链表 D. 顺序表 解 D。 5. 一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 c 。

A.edcba B.decba C.dceab D.abcde 答:C。 6. 循环队列qu的队空条件是 d 。 A. (qu.rear+1)%MaxSize==(qu.front+1)%MaxSize B. (qu.rear+1)%MaxSize==qu.front+1 C.(qu.rear+1)%MaxSize==qu.front D.qu.rear==qu.front 答:D。 7. 两个串相等必有串长度相等且 b 。 A.串的各位置字符任意 B.串中各位置字符均对应相等 C.两个串含有相同的字符 D.两个所含字符任意 答:B。 8. 用直接插入排序对下面四个序列进行递增排序,元素比较次数最少的是c 。 A.94,32,40,90,80,46,21,69 B.32,40,21,46,69,94,90, 80 C.21,32,46,40,80,69,90,94 D.90,69,80,46,21,32,94, 40 答:C。 9. 以下序列不是堆(大根或小根)的是 d 。 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}

数据结构练习试题和答案解析

第1章绪论 一、判断题 1.数据的逻辑结构与数据元素本身的容和形式无关。(√) 2.一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。(√) 3.数据元素是数据的最小单位。(×) 4.数据的逻辑结构和数据的存储结构是相同的。(×) 5.程序和算法原则上没有区别,所以在讨论数据结构时可以通用。(×) 6.从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。(√) 7.数据的存储结构是数据的逻辑结构的存储映象。(√) 8.数据的物理结构是指数据在计算机实际的存储形式。(√) 9.数据的逻辑结构是依赖于计算机的。(×) 10.算法是对解题方法和步骤的描述。(√) 二、填空题 1.数据有逻辑结构和存储结构两种结构。 2.数据逻辑结构除了集合以外,还包括线性结构、树形结构和图形结构。 3.数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。 4.树形结构和图形结构合称为非线性结构。 5.在树形结构中,除了树根结点以外,其余每个结点只有1个前驱结点。 6.在图形结构中,每个结点的前驱结点数和后继结点数可以任意多个。 7.数据的存储结构又叫物理结构。 8.数据的存储结构形式包括顺序存储、链式存储、索引存储和散列存储。 9.线性结构中的元素之间存在一对一的关系。 10.树形结构中的元素之间存在一对多的关系。 11.图形结构的元素之间存在多对多的关系。 12.数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)3个方面的容。 13.数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系有限集合。 14.算法是一个有穷指令的集合。 15.算法效率的度量可以分为事先估算法和事后统计法。 16.一个算法的时间复杂度是算法输入规模的函数。 17.算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模的n的函数。 18.若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O(nlog2n)。 19.若一个算法的语句频度之和为T(n)=3n+nlog2+n2,则算法的时间复杂度为O(n2)。 20.数据结构是一门研究非数值计算的程序问题中计算机的操作对象,以及它们之间的关系和运算的学 科。 三、选择题 1.数据结构通常是研究数据的(A)及它们之间的相互关系。 A.存储结构和逻辑结构B.存储和抽象C.联系和抽象D.联系与逻辑 2.在逻辑上可以把数据结构分成(C)。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.部结构和外部结构。 3.数据在计算机存储表示时,物理地址和逻辑地址相同并且是连续的,称之为(C)。 A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构 4.非线性结构中的每个结点(D)。 A.无直接前驱结点.B.无直接后继结点.

数据结构期末考试试题A卷(完成,不知对不对)

第 1 页,共 11 页 任课教师签名: 命题教师签名: 系主任签名: 主管院长签名: 湛江师范学院2007年-2008学年度第1学期 期末考试试题A 卷 (考试时间:120分钟) 考试科目: 数据结构 请将所有答案填写在答题卡上,交卷时请将所有试卷上交 一、单选题(每小题2分,共40分) 1.下列算法的时间复杂度是( B )。 for ( i=0; inext==L C L->next==p D p->next==NULL 4.4个元素进S 栈的顺序是A 、B 、C 、D ,进行两次Pop(S,x)操作后, 栈顶元素的值是( B )。 A A B B C C D D 5.经过下列栈的运算后GetTop(S)的值是( A )。 InitStack(s); Push(s,a); Push(s,b); Pop(s); A a B b C 1 D 2

6.栈的特点是(B )。 A 先进先出 B 后进先出 C 后进 后出 D 不进不出 7.经过下列运算后GetHead(Q)的值是( A ) InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b); A a B b C 1 D 2 8.一维数组的元素起始地址loc[0]=1000,元素长度为4,则loc[2]为( C )。 A 1000 B 1010 C 1008 D 1020 9.二叉树第i层上最多有( C )个结点。 A 2i B 2i-1 C 2i-1 D i2 10.满二叉树( A )二叉树。 A 一定是完全 B 不一定是完全 C 不是 D 不是完全 11.二叉树按二叉链表存储,每个结点包含三个域(lchild、data、rchild),若p指针指向二叉树的根结点,经过运算while ( p->rchild!=null ) p=p->rchild,则( A )。 A p指向二叉树的最右下方的结点 B p指向二叉树的 最左下方的结点 C p仍指向根结点 D p为null 12.在具有n个结点的完全二叉树中,结点i(2i

数据结构期末考试试题答案详解

《数据结构》试题(100分) (供2005级信息管理与信息系统本科专业使用) 学号: 姓名: 座号: 系别: 年级: 专业: 总分合计人: 复核人: 说明:本试卷分为两部分,第I 卷(选择题和判断题)必须在“答题卡”上按规定要求填、涂;第II 卷直接在试卷上作答。不按规定答题、填涂,一律无效。 第I 卷 一、试题类型:单项选择题(每小题2分,共40分) (类型说明:在每小题列出的四个选项中只有一个选项是符合题目要求的,请选出正确选项并在“答题卡”的相应位置上涂黑。多涂、少涂、错误均无分。) 1. 算法分析的两个主要方面是: ( ) (A) 空间复杂性和时间复杂性 (B) 正确性和简明性 (C) 可读性和文档性 (D) 数据复杂性和程序复杂性 2. 计算机算法指的是: ( ) (A) 计算方法 (B) 排序方法 (C) 解决问题的有限运算序列 (D) 调度方法 3. 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称为:( ) (A )存储结构 (B )逻辑结构 (C )顺序存储结构 (D )链式存储结构 4.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 。 ( ) (A )110 (B )108 (C )100 (D )120 5. 链接存储的存储结构所占存储空间: ( ) (A )分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 (B )只有一部分,存放结点值 (C ) 只有一部分,存储表示结点间关系的指针 (D ) 分两部分,一部分存放结点值,另一部分存放结点所占单元数 6. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址: ( ) (A )必须是连续的 (B )部分地址必须是连续的 (C )一定是不连续的 (D )连续或不连续都可以

数据结构试题及答案(10套最新)

一、单选题(每题 2 分,共20分) 1. 1.对一个算法的评价,不包括如下(B )方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结 点,则执行(A )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3. 3.对线性表,在下列哪种情况下应当采用链表表示?( B ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是 ( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 5.AOV网是一种(D )。 A.有向图B.无向图C.无向无环图D.有向无环图 6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B)。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。 A.值B.函数C.指针D.引用 8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具 有相同的( A )。 A.行号B.列号C.元素值D.非零元素个数 9.9.快速排序在最坏情况下的时间复杂度为(D )。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) 二、运算题(每题 6 分,共24分) 1. 1.数据结构是指数据及其相互之间的______________。当结点之间存在M 对N(M:N)的联系时,称这种结构为_____________________。 2. 2.队列的插入操作是在队列的_ _尾______进行,删除操作是在队列的____ 首______进行。 3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则 表示栈满的条件是___top==0___(要超出才为满)_______________。 4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度 为_________,在表尾插入元素的时间复杂度为____________。

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

数据结构期末考试试题及答案资料

贵州大学理学院数学系信息与计算科学专业 《数据结构》期末考试试题及答案 (2003-2004学年第2学期) 一、单项选择题 1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。 (A)、正确性(B). 可行性(C). 健壮性(D). 输入性 2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。 for(i=n-1;i>=0;i--) for(j=0;jnext; Q.front->next=p->next; (C)、p=Q.rear->next; p->next= Q.rear->next; (D)、p=Q->next; Q->next=p->next; 9. Huffman树的带权路径长度WPL等于() (A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和 (C)、各叶子结点的带权路径长度之和(D)、根结点的值 10.线索二叉链表是利用()域存储后继结点的地址。

相关主题
文本预览
相关文档 最新文档