当前位置:
文档之家› 《数据结构》习题及答案:第2章线性表(第1次更新2012-3)
《数据结构》习题及答案:第2章线性表(第1次更新2012-3)
B、p->rlink=s;p->rlink->llink=s;s->llink=p;s->rlink=p->rlink;
C、s->llink=p;s->rlink=p->rlink;p->rlink=s;p->rlink->llink=s;
D、s->llink=p;s->rlink=p->rlink;p->rlink->llink=s;p->rlink=s;
在一个单链表中,若在P所指结点之后插入S所指结点,则执行(
)【*,★】
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;
在一个单链表中,已知q是p的前趋结点,若q和p之间插入结点
A、表元素B、字符C、数据元素
D、数据项
E、信息
),删
线性表的逻辑顺序和物理顺序总是一致的。 ”这个结论是(
B、错误的C、不一定,与具体结构有关。
线性表采用链式存储结构时,要求内存中可用存储单元的地址(
A、必须是连续的B、部分地址必须是连续的
A、正确的
C一定是不连续的
D、连续或不连续都可以。
带头结点的单链表为空的判定条件是(
章 线性表
选择题
表长为N的顺序表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均次数为( 除一个元素需要移动的元素个数为()【**,★】
A. (N-1)/2 B. N C. N+1 D. N-1 E. N/2 F. (N+1)/2 G. (N-2)/2
线性表是具有N个( )的有限序列。【 * 】
C、q->llink=p->rlink;q->rlink=p;p->llink->rlink=q;p->llink=q;
D、以上都不对
13.如上题结点结构,如在此非空循环双向链表的结点p之后插入结点s的操作序列是( )。【 ** 】
A、p->rlink=s;s->llink=p;p->rlink->llink=s;s->rlink=p->rlink;
16.非空线性表L=(a1,a2,…,ai,…,an),下列说法正确的是()【*】
A、每个元素都有一个直接前驱和直接后继
B、线性表中至少要有一个元素
C表中诸元素的排列顺序必须是由小到大或由大到小的
D、除第一个元素和最后一个元素外其余每个元素都有一个且仅有一个直接前驱和直接后继
17.顺序表是线性表的()【**,★】
A、不再需要头指针了
B、已知某个结点的位置后,能够容易找到它的直接前趋
C在进行插入、删除运算时,能更好地保证链表不断开
D、从表中任一结点出发都能扫描到整个链表
23.在线性表的下列存储结构中,读取元素花费时间最少的是()【*,★】
A、s->next=p->next;p->next=s;
B、p->next=s->next;s->next=p;
s,则执行()。【*】
C、q->next=s;s->next=p;
D、p->next=s;s->next=q;
假设双链表结点的类型如下:【
*,★】
typedef struct linknode{
所指结点的后继结点,则执行( )。【
C、p->next==head
)。【*,★】
A、O(1) B、O(n)
在一个单链表中,若删除P
*,★】
A、p->next=p->next->next
B、p=p->next;p->next=p->next->next
D、p=p->next->next;
C、p->next=p->next;
//数据域
}bnode;
现将一个q所指新结点作为非空双向链表中的p所指结点的前趋结点插入到该双链表中,能正确完成此要求的语句段是
A、q->rlink=p;q->llink=p->llink;p->llink=q;p->llink->rlink=q;
B、p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink=p->llink
D、顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元中
19.对顺序表上的插入、删除算法的时间复杂性分析来说,通常以()为标准操作。【 *】
A、插入操作B、结点移动C、算术表达式D、删除操作
20.对于顺序表的优缺点,以下说法错误的是()【 *】
A、无需为表示结点间的逻辑关系而增加额外的存储空间
14.在一个长度为n的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。【**,★】
A、删除单链表中的第一个元素
B、删除单链表中最后一个元素
C在单链表第一个元素前插线性结构中的一个结点代表一个( )【 * 】
A、数据元素B、数据项C、数据D、数据结构
A、head==NULL
C、head->next==head
不带头结点的单链表head
A、head==NULL
C、head->next==head
)。【*】
)。【*,★】
)。【*】
B、head->next==NULL
D、head!=NULL
为空的判定条件是(
)。【*】
B、head->next==NULL
A、链式存储结构B、顺序存储结构
C索引存储结构D、散列存储结构
18.对于顺序表,以下说法错误的是()【*,★】
A、顺序表是用一维数组实现的线性表,数组的下标可以看成是元素的绝对地址
B、顺序表的所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列
C顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻
D、head!=NULL
第2
一、
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
的尾结点P满足( ) (注:带头结点)【 *】
A、P->NEXT=NULL
B、p=NULL
D、p==head
在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(2
C、O(n)D、O(nlog2n)
B、可以方便地随机存取表中的任一结点
C插入和删除运算较方便
D、由于顺序表要求占用连续的空间,存储分配只能预先进行(静态分配)
21.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省时间。【 *】
A、顺序表B、单链表C、双链表D、单循环链表
22.循环链表主要优点是()【 *】