数据结构第2章习题参考答案

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

2.7 习题

2.7.1知识点:线性表的逻辑结构

一、选择题

1①线性表L=(a

1, a

2

,…,a

n

),下列说法正确的是(D )。

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

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

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

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

2①在线性表的下列运算中,不改变数据元素之间结构关系的运算是(D )。

A.插入B.删除

C.排序D.定位

3①线性表是具有n 个(C )的有限序列(n>0)。【清华大学1998】

A.表元素B.字符C.数据元素D.数据项E.信息项

二、判断题

(T )1①线性表中的每个结点最多只有一个前驱和一个后继。

( F )2①线性表中的每个结点都至少有一个前驱结点和后继结点。

( F )3①线性表是N个数的有限序列。

(F)4①同一线性表的数据元素可以具有不同的特性。

(T )5①线性表的长度n就是表中数据元素的个数,当n=0时,称为空表。

(T )6①线性表是一个相当灵活的数据结构,它的长度可根据需要增长或缩短。

( F )7①对线性表中的数据元素只能进行访问,不能进行插入和删除操作。

2.7.2知识点:线性表的顺序存储结构

一、选择题

1①在一个长度为n的顺序表中,在第i个元素(1 <= i <=n+1)之前插入一个新元素时需向后移动( B )个元素.

A.n-1 B.n-i+1 C.n-i-1 D.i

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

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

3②一个数组第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(B )

A.110 B.108 C.100 D.120

4①下述哪一条是顺序存储结构的优点( A )。【北方交通大学2001】

A.存储密度大B.插入运算方便

C.删除运算方便D.可方便地用于各种逻辑结构的存储表示

5③若长度为n 的线性表采用顺序存储结构,在其第i 个位置插入一个新元素的算法的时间复杂度为(C )(1<=i<=n+1)。【北京航空航天大学1999】

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

6③对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为(C )。【青岛大学2000】

A.O(n)O(n)B.O(n)O(1)

C.O(1)O(n)D.O(1)O(1)

二、填空题

1①线性表的顺序存储的缺点是在任意位置上___插入_____数据与____删除_____数据费时间。

2①设一线性表的顺序存储,总存储容量为M,其元素存储位置的范围为__0~M-1__________。

3①向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动____n-i______个元素。

三、简答题

1③已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:

void f30 (SeqList *L){

int i,j;

for (i=j=0;ilength; i++)

if(L->data[i]>=0){

if(i!=j)L->data[j]=L->data[i];

j++;

}

L->length=j;

}

(1)设线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态;(21,19,0,34,30)

(2)简述算法f30的功能。删除顺序表中小于0的元素

四、编程题

1④已知顺序表La中数据元素按非递减有序排列。试写一个算法,将x插入到La的合适位置上,保持该表的有序性。

2.7.3知识点:线性表的链式存储结构

一、选择题

1①链表是一种采用(B )存储结构存储的线性表。

A.顺序B.链式C.星式D.网状

2①链接存储的存储结构所占存储空间( A )。

A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针。

B.只有一部分,存放结点值。

C.只有一部分,存储表示结点间关系的指针。

D.分两部分,一部分存放结点值,另一部分存放结点所占单元数。

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

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

C.一定是不连续的D.连续或不连续都可以

4①线性表L在( B )情况下适用于使用链式结构实现。

A.需经常修改L中的结点值B.需不断对L进行删除插入

C.L中含有大量的结点D.L中结点结构复杂

5①对单链表表示法,以下说法错误的是(C )。

A.数据域用于存储线性表的一个数据元素。

B.指针域(或链域)用于存放一个指向本结点所含数据元素的直接后继所在结点的指针。

C.所有数据通过指针的链接而组织成单链表。

D.NULL称为空指针,它不指向任何结点只起标志作用。

6①以下说法正确的是(D )。

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

B.链表的每个结点中都恰好包含一个指针

C.线性表的顺序存储结构优于链式存储结构

D.顺序存储结构属于静态结构而链式结构属于动态结构

7①以下说法错误的是(D )。

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

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

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

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

8①不带头结点的单链表head为空的判定条件是( A )。

A.head= =NULL B.head->next= =NULL

C.head->next= =head D.head!=NULL

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

A.head= =NULL B.head->next= =NULL

C.head->next= =head D.head!=NULL

相关文档
最新文档