数据结构习题及标准答案

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

第一章

1.在数据结构中,从逻辑上可以把数据结构分为(C )

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

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

● 2.在数据结构中,与所使用的计算机无关的是( A )

A. 逻辑结构

B. 存储结构

C. 逻辑和存储结构

D. 物理结构

3.下面程序的时间复杂度为____O(mn)_______。

for (int i=1。i<=m。i++)

for (int j=1。j<=n。j++ )

S+=i

第二章线性表

●链表不具备的特点是(A)

A 可以随机访问任一结点(顺序)

B 插入删除不需要移动元素

C 不必事先估计空间

D 所需空间与其长度成正比

2. 不带头结点的单链表head为空的判定条件为(A ),带头结点的单链表head为空的判定条件为(B )

A head==null

B head->next==null

C head->next==head

D head!=null

●3.在线性表的下列存储结构中,读取元素花费时间最少的是(D)

A 单链表

B 双链表

C 循环链表

D 顺序表

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

A 顺序表

B 用头指针表示的单循环链表

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

D 单链表

● 5.在一个具有n 个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有序,

则操作的时间复杂度为( D )

A O(1)

B O(log2n)

C O(n2)

D O(n)

● 6.在一个长度为n (n>1)的单链表上,设有头和尾两个指针,执行(B)操作与链表的长

度有关

A 删除单链表中第一个元素

B 删除单链表中最后一个元素

C 在第一个元素之前插入一个新元素

D 在最后一个元素之后插入一个新元素

●7.与单链表相比,双向链表的优点之一是(D)

A 插入删除操作更简单

B 可以进行随机访问

C 可以省略表头指针或表尾指针

D 顺序访问相邻结点更容易

●8.若list是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域

(头结点的地址)中存放的是( B )

A list的地址

B list的内容

C list指的链结点的值

D 链表第一个链结点的地址

●9.若list1和list2分别为一个单链表与一个双向链表的第一个结点的指针,则( B )

A list2比list1占用更多的存储单元

B list1与list2占用相同的存储单元

C list1和list2应该是相同类型的指针变量

D 双向链表比单链表占用更多的存储单元

10.链表中的每个链结点占用的存储空间不必连续,这句话正确吗? (不正确)

11. 某线性表采用顺序存储结构,元素长度为4,首地址为100,则下标为12的(第13个)元素的存储地址为148。V 100+4*12=148

11.在顺序表的(最后一个结点之后)插入一个新的数据元素不必移动任何元素。

12.若对线性表进行的操作主要不是插入删除,则该线性表宜采用(顺序)存储结构,若频繁地对线性表进行插入和删除操作,则该线性表宜采用( 链 )存储结构。

13、一个顺序表所占用存储空间的大小与(B)无关。

A.表的长度 B.元素的存放顺序 C. 元素的类型 D.元素中各的类型

●14、设存储分配是从低地址到高地址进行的。若每个元素占用4个存储单元,则某元素

的地址是指它所占用的单元的(A)。

A. 第1个单元的地址

B. 第2个单元的地址

C. 第3个单元的地址

D. 第4个单元的地址

15、若线性表采用顺序存储结构,每个元素占用4个存储单元,第1个元素的存储地址为100,则第12个元素的存储地址是( B)。

A. 112

B. 144

C.148

D. 412

●16、若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,i

的合法值应该是( D )。

A. i>0

B.i<=n

C.1<=i<=n

D. 1<=i<=n+1

17、若长度为n 的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应该是( C)。

A. i>0

B.y<=n

C.1<=i<=n

D. d<=i<=i+1

●18、若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要

移动表中( B )个数据元素。

A. n-i

B.n+i

C. n-i+1

D. n-i-1

19、若长度为n的非空线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,首先需要移动表中( C )个数据元素。

A. i

B. n+i

C.n-i+1

D.n-i-1

20、若频繁地对线性表进行插入和删除操作,该线性表应该采用( C )存储结构。

A.散列

B. 顺序

C. 链式

D. 索引

●21、链表中的每一个链结点所占用的存储单元( B )。

A. 不必连续

B.一定连续

C.部分连续

D. 连续与否无所谓

●22、在一个具有n个链结点的线性链表中查找某一个链结点,若查找成功,需要平均比

较(C)个链结点。

A. n

B. n/2

C.(n+1)/2

D. (n-1)/2

●23、给定具有n个元素的顺序表,建立一个有序线性链表的时间复杂度为( C)。

A. O(1)

B.O(n)

C.O(n2)

D. O(log2n)

24、在非空线性链表中由p所指的链结点后面插入一个由q所指的链结点的过程是依次执行( B )。

A. q->next=p。 p->next=q。

B. q->next=p->next。 p->next=q。

C. q->next=p->next。 p =q。

D. p->next=q。 q->next=p。

25、若删除非空线性链表中由p所指的链结点的直接后继链结点的过程过程是依次执行( B)。

A. r=p->next。 p->next=r。 free(r)。

B. r=p->next。 p->next=r->next。 free(r)。

C. r=p->next。 p->next=r->next。 free(p)。

D. p->next=p->next->next。 free(p)。

26、在非空双向循环链表中由q所指的链结点后面插入一个由p所指的链结点的操作依次为p->prior=q。 p->next=q->next。q->next=p。( C )。

A. q->prior=p

B. q->next->prior=p

C. p->next->prior=p。

D. p->prior->next=p。

相关文档
最新文档