当前位置:文档之家› 数据结构习题二线性表

数据结构习题二线性表

一.选择题
1. 已知在单链表中指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作?( B )
A、s->next = p; p->next = s;
B、s->next = p->next; p->next = s;
C、s->next = p->next; p = s;
D、p->next = s; s->next = p;
2. 非空的循环单链表first的尾结点(由p所指向)满足:( C )
A、 p->next == NULL;
B、 p == NULL;
C、 p->next == first;
D、 p == first;
3. 在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)插入一个新元素时,需要从后向前依次后移___C___个元素。

A、n-i
B、n-i-1
C、n-i+1
D、i
4. 线性表是具有n个__C____的有限序列。

A、表元素
B、字符
C、数据元素
D、数据项
5. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较___B___个结点。

A、 n
B、n/2
C、(n-1)/2
D、(n+1)/2
6. 若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用___A___存储方式最节省运算时间。

A、单链表
B、双链表
C、单循环链表
D、带头结点的双循环链表
7. 已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。

按要求从下列语句中选择合适的语句序列。

a.在P结点后插入S结点的语句序列是:__。

b.在P结点前插入S结点的语句序列是:。

c.在表首插入S结点的语句序列是:。

d.在表尾插入S结点的语句序列是:。

供选择的语句有:
(1)P->next=S;(2)P->next=P->next->next;
(3)P->next=S->next;(4)S->next=P->next;
(5)S->next=L;(6)S->next=NULL;(7)Q=P;
(8)while(P->next!=Q)P=P->next;
(9)while(P->next!=NULL)P=P->next;
(10)P=Q;(11)P=L;(12)L=S;(13)L=P;
二.填空题
1.在顺序表中插入或删除一个元素,需要平均移动________元素,具体移动的元素个数与_______有关。

2.在顺序表中,逻辑上相邻的元素,其物理位置________相邻。

在单链表中,逻辑上相邻的元素,其物理位置__________相邻。

3.在带头结点的非空单链表中,头结点的存储位置由___________指示,首元素结点的存储位置由_________指示,除首元素结点外,其它任一元素结点的存储位置由_______指示。

4.当对一个基本线性表进行的插入和删除操作较频繁时,基本线性表应采用存储结构;当对基本线性表的操作不会引起它的变化时,基本线性表应采用存储结构。

5.设某有一双链表,若要在指针q所指结点(中间结点)的后面插入一个新结点s,则需要执行下述语句段:
s->prior=q;s->next=q->next;;q->next=s;
6. 指针P指向双向循环链表的第i个结点,指针S指向新生成的结点,将结点S插入到结点P之前的操作是:s->prior=p->prior;_________________________;s->next=p;_________________________。

7.在双链表中删除已知结点*p(设表长为n),其时间复杂度为。

三、判断题
1.线性表的逻辑顺序与物理顺序总是一致的。

()
2.线性表的顺序存储表示优于链式存储表示。

()
3.线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

()
4.在带头结点的单循环链表中,任一结点的后继指针均不空。

()
5.在线性表中,所有的结点都有一个直接前趋和一个直接后继。

()
四、简答题
描述以下三个概念的区别:头指针,头结点,首元素结点。

五、算法设计题
1. 写一个算法,实现在带头结点的单链表中的按值查找locate(p,x)。

若在头结点为P的单链表中找到了数据为X的结点,则返回首次找到的结点的序号,若未找到,则返回一个特定的值-1。

2. 已知单循环链表L中至少有三个结点,结点结构如下。

设计算法以判断该链表中的每个元素的值是否小于其后继两个结点的值的和,若满足,返回TRUE,否则返回FALSE。

其中结点结构为:
Typedef struct LNode{
int data;
Struct Lnode *next;
}Lnode,*LinkList;
3.顺序存储结构的线性表L中元素无序存放,要求以简单选择排序的方法对其排序,使其元素非递减有序。

4.已知线性表中的元素以值递增有序排列,试以带头结点的单链表为存储结构,删除表中所有值在min与max之间的元素,同时释放被删结点空间。

要求时间复杂度为O(n)。

相关主题