数据结构课后练习题

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

数据结构习题

习题一绪论

.1.1 单项选择题

1. 数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。

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

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

2. 数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②有限集合。

①A.算法B.数据元素C.数据操作D.逻辑结构

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

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

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

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

4. 线性表的顺序存储结构是一种①的存储结构,线性表的链式存储结构是一种②的存储结构。

A.随机存取B.顺序存取C.索引存取D.散列存取

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

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

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

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

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

C. 可读性和文档性

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

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

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

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

D. 调度方法

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

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

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

7. 线性表的逻辑顺序与存储顺序总是一致的,这种说法①。

A. 正确

B. 不正确

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

A. 必须是连续的

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

C. 一定是不连续的

D. 连续或不连续都可以

9. 在以下的叙述中,正确的是①。

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

B.二维数组是其数据元素为线性表的线性表

C.栈的操作方式是先进先出

D.队列的操作方式是先进后出

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

A. 正确

B. 不正确

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

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

集合、线性结构、树型结构非线性结构

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

无、一、无、一

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

前驱、一、后继、零个至多个

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

任意多个

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

一对一、一对多、多对多

6. 算法的五个重要特性是

7. 下面程序段的时间复杂度是①。

for (i=0;i

for (j=0;j

A[i][j]=0;

O(m*n)

8. 下面程序段的时间复杂度是①。

i=s=0;

while (s

{ i++; /*i=i+1*/

s+=i; /*s=s+1*/

}

O( )

9. 下面程序段的时间复杂度是①。

s=0;

for (i=0;i

for (j=0;j

s+=B[i][j];

sum=s;

O(n2)

10. 下面程序段的时间复杂度是①。

i=1;

while (i<=n)

i=i*3;

log3n

习题二线性表

一、选择题:

1、在表长为n的顺序表上做插入运算,平均要移动的结点数为()。

A.n B.n/2 C.n/3 D.n/4

2、在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点,则执行

()

A.S->link=P->link;P->link=S

B.P->link=S->link;S->link=P;

C.P->link=P;P->link=S;

D.P->link=S;S->link=P;

3、在已知头指针的单链表中,要在其尾部插入一新结点,其算法所需的时间复杂度为

()

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

4、对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()

A.顺序表B.用头指针表示的单循环链表

C.用尾指针表示的单循环链表D.单链表

5、线性表是()

A.一个有限序列,可以为空B.一个有限序列,不能为空

C.一个无限序列,可以为空D.一个无限序列,不能为空

6、在n个结点的双链表的某个结点前插入一个结点的时间复杂度是()

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

7、线性表采用链式存储时,结点的地址()

A.必须是连续的B.必须是不连续的

C.连续与否均可D.必须有相等的间隔

8、在单链表中,增加头结点的目的是()

A.使单链表至少有一结点B.标志表中首结点位置

C.方便运算的实现D.说明单链表是线性表的链式存储实现

9、带头结点的单链表head为空的判定条件是()

A.head = NULL;B.head - > link = NULL;

C.head - > link = head;D.head ! = NULL;

10、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度为

()

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

11、下列有关线性表的叙述中,正确的是()

A.线性表中的元素之间是线性关系

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

C.线性表中任何一个元素有且仅有一个直接前趋

D.线性表中任何一个元素有且仅有一个直接后继

12、在单链表中,存储每个结点需有两个域,一个是数据域,另一个是指针域,它指向该

结点的()

A.直接前趋B.直接后继C.开始结点D.终端结点

13、将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是()。

A.n B.2n-1 C.2n D.n-1

14、链表不具有的特点是()。

A.随机访问B.不必事先估计存储空间

C.插入删除时不需移动元素D.所需的空间与线性表成正比

15、在一个单链表中,已知q所指结点是p所指结点的直接前趋,若在p,q之间插入s 结点,则执行的操作是()。

A.s->link=p->link;p->link=s; B.q->link=s;s->link=p;

C.p->link=s->link;s->link=p; D.p->link=s;s->link=q;

16、链表具有的特点是()。

A.可随机访问任一元素B.插入、删除需要移动元素

C.不必事先估计存储空间D.存储空间是静态分配的

17、一个顺序表一旦说明,其中可用空间大小()

A.已固定B.可以改变C.不能固定D.动态变化

18、若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。

A.顺序表B.单链表C.双向链表D.单循环链表

19、两个指针P和Q,分别指向单链表的两个元素,P所指元素是Q所指元素的前驱的条

相关文档
最新文档