大二数据结构复习-第1-2章(带答案)

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

《数据结构》第1-2章练习题

一、选择

1、通常从正确性、易读性、健壮性、高效性等四个方面评价算法(包括程序)的质量。以下解释错误的是( )

A、正确性算法应能正确地实现预定的功能(即处理要求)

B、易读性算法应易于阅读和理解以便于调试修改和扩充

C、健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果

D、高效性即达到所需要的时间性能

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个元素及其前驱的值,则采用()存储方式节省时间

A、单链表

B、双向链表

C、单循环链表

D、顺序表

顺序表可以随机存取

8、设指针P指向双链表的某一结点,则双链表结构的对称性可用()式来刻画

A、p->prior->next->==p->next->next

B、p->prior->prior->==p->next->prior

C、p->prior->next->==p->next->prior

D、p->next->next==p->prior->prior

9、以下说错误的是()

A、对循环来说,从表中任一结点出发都能通过前后操作而扫描整个循环链表

B、对单链表来说,只有从头结点开始才能扫描表中全部结点

C、双链表的特点是找结点的前趋和后继都很容易

D、对双链表来说,结点*P的存储位置既存放在其前趋结点的后继指针域中,也存放在它的后继结点的前趋指针域中。

10、在带头结点的循环链表中,将头指针改设为尾指针(rear)后,其头结点和尾结点的存储位置分别是( )

A、rear和rear->next->next

B、rear->next 和rear

C、rear->next->next和rear

D、rear和rear->next

11.以下说错误的是 ( )

A、对于线性表来说,查找定位运算在顺序表和单链表上的量级均为O(n)

B、读表元运算在顺序表上只需常数时间O(1)便可实现,因此顺序表是一种随机存取结构

C、在链表上实现读表元运算的平均时间复杂性为O(1)

D、插入、删除操作在链表上的实现可在O(n)时间内完成

12、循环链表主要优点是()

A、不再需要头指针了

B、已知某个结点的位置后,能够容易找到它的直接前趋

C、从表中任一结点出发都能扫描到整个链表

D、在进行插入、删除运算时,能更好地保证链表不断开

13、以下说法错误的是()

A、数据的物理结构是指数据在计算机内实际的存储形式

B、算法和程序没有区别,所以在数据结构中二者是通用的

C、对链表进行插人和删除操作时,不必移动结点

D、双链表中至多只有一个结点的后继指针为空

14、以下说法正确的是

A、线性结构的基本特征是:每个结点有且仅有一个直接前趋和一个直接后继

B、线性表的各种基本运算在顺序存储结构上的实现均比在链式存储结构上的实现效率要低

C、在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素位置有关

D、顺序存储的线性表的插入和删除操作不需要付出很大的代价,因为平均每次操作只有近一半的元素需要移动

15、以下说法错误的是()

A、求表长、定位这二种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低

B、顺序存储的线性表可以随机存取

C、由于顺序存储要求连续约存储区域所以在存储管理上不够灵活

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

16、以下说法错误的是()

A、线性表的元素可以是各种各样的,逻辑上相邻的元素在物理位置上不一定相邻

B、在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定相邻

C、在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻

D、线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素

17、以下说法正确的是()

A、在单链表中,任何两个元素的存储位置之间都有固定的联系,因为可以从头结点进行查找任何一个元素

B、在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构

C、顺序存储方式只能用于存储线性结构

D、顺序存储方式的优点是存储密度大、且插入、删除运算效率高

18、线性表L=(a1,a2,...,ai,...,an),下列说法正确的是( )

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

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

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

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

19、线性表若采用链表存储结构时,要求内存中可用存储单元的地址( )

A、必需是联系的

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

C、一定是不连续的

D、连续不连续都可以

20.设REAR是指向非空带头结点的循环单链表的尾指针,则删除表首结点的操作可表示为( )

A、p=rear;rear=rear->next;free(p)

B、rear=rear->next;free(rear);

C、rear=rear->next->next;free(rear);

D、p=rear->next->next;rear->next->next=p->next;free(p);

21、单链表中,增加头结点的目的是为了 ( )

A、使单链表至少有一个结点

B、标示表结点中首结点的位置

C、方便运算的实现

D、说明单链表是线性表的链式存储实现

22、带头结点的单链表Head为空的判定条件是

A、Head==Null

B、Head->next==NULL

C、Head->next==Head

23、空的单循环链表L的尾结点*P,满足

A、P->next==NULL

B、P==NULL

C、P->next==L

D、P==L

24、算法的时间复杂度是指()

相关文档
最新文档