文档详情

数据结构(C语言版)习题及答案第二章.pdf

发布:2024-12-20约1.77万字共11页下载文档
文本预览下载声明

以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失。——《旧唐书·魏征列传》

可编辑

习题

2.1选择题

1、线性表的顺序存储结构是一种(A)的存储结构,线性表的链式存储结构是一种

(B)的存储结构。

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

2、对于一个线性,既要求能够进行较快的插入和删除,又要求存储结构能够反映数据

元素之间的逻辑关系,则应该选择(B)。

A、顺序存储方式B、链式存储方式

C、散列存储方式D、索引存储方式

3、已知,L是一个不带头结点的单链表,p指向其中的一个结点,选择合适的语句实现

在p结点的后面插入s结点的操作(B)。

A、p-next=s;s-next=p-next;B、s-next=p-next;p-next=s;

C、p-next=s;s-next=p;D、s-next=p;p-next=s;

4、单链表中各结点之间的地址(CD)。

A、必须连续B、部分地址必须连续

C、不一定连续D、连续与否都可以

5、在一个长度为n的顺序表中向第i个元素(0i=n+1)之前插入一个新元素时,需

向后移动(B)个元素。

A、n-iB、n-i+1C、n-i-1D、i

2.2填空题

1、顺序存储的长度为n的线性表,在任何位置上插入和删除操作的时间复杂度基本上

都一样。插入一个元素大约移动表中的(n/2)个元素,删除一个元素时大约移动表中的

((n-1)/2)个元素。

2、在线性表的顺序存储方式中,元素之间的逻辑关系是通过(物理顺序)来体现的;

在链式存储方式,元素之间的逻辑关系是通过(指针)体现的。

3、对于一个长度为n的单链表,在已知的p结点后面插入一个新结点的时间复杂度为

(o(1)),在p结点之前插入一个新结点的时间复杂度为(o(n)),在给定值为e的结点之后

插入一个新结点的时间复杂度为(o(n))。

4、在双向链表中,每个结点包含两个指针域,一个指向(前驱)结点,另一个指向(后

继)结点。

5、对于循环链表来讲,逐个访问各个结点的结束判断条件是(设P为指向结点的指针,

L为链表的头指针,则p-next==L)。

2.3读下面的程序段,画出执行过程的示意图及所完成的功能。

1、#defineN6

voidmain()

{ListSqL;

intA[N];

inti,elem;

InitList(L);//初始化函数

显示全部
相似文档