(数据结构14章复习题答案
一、选择题。
1. 算法的计算量的大小称为计算的( b )。
A.效率 B. 复杂性 C. 现实性 D. 难度
2.计算机算法指的是(1c),它必须具备(2b) 这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法
(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性
C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性
3. 下面关于算法说法错误的是( d )
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的
4. 下面说法错误的是( c )
(1)算法原地工作的含义是指不需要任何额外的辅助空间
(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
(4)同一个算法,实现语言的级别越高,执行效率就越低
A.(1) B.(1),(2) C.(1),(4) D.(3)
5.从逻辑上可以把数据结构分为( c )两大类。
A.动态结构、静态结构 B.顺序结构、链式结构
C.线性结构、非线性结构 D.初等结构、构造型结构
6.程序段 For(i=n-1;i>0;i--)
For(j=1;j<=i;j++)
If(a[j]>a[j+1])a[j]←→a[j+1]
其中 n为正整数,则最后一行的语句时间复杂度在最坏情况下是( d )
A. O(n) B. O(nlogn) C. O(n3) D. O(n2)
7.下述哪一条是顺序存储结构的优点?( a )
A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示
8.下面关于线性表的叙述中,错误的是哪一个?( b )
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
9.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( a )存储方式最节省时间。
A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表
11. 链表不具有的特点是( b )
A.插入、删除不需要移动元素 B.可随机访问任一元素
C.不必事先估计存储空间 D.所需空间与线性长度成正比
12.单链表的一个存储结点包含( d )
A数据域或指针域 B指针域或链域
C指针域和链域 D数据域和链域
14. 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( c )。
A.O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)
15.设REAR是指向非空带头结点的循环单链表的尾指针,则删除表首结点的操作可表示为( d )
A.p=rear; B.rear=rear->next;
rear=rear->next; free(rear);
free(p)
C.rear=rear->next->next; D. p=rear->next->next;
free(rear); rear->next->next=p->next;
free(p);
16.带头结点的单链表Head为空的判定条件是 b
A.Head==Null B.Head->next==NULL C.Head->next==Head
D.Head->data==NULL
17.非空的单循环链表L的尾结点*P,满足 c
A.P->next==NULL B.P==NULL C. P->next==L D.P=