A、O(n)
B、O(0)
C、O(1)
D、O(n^2)
正确答案:A
6、6. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是()。
A、s->next=p->next;p->next=s;
B、p->next=s;s->next=p->next;
C、p->next=s;p->next=s->next;
D、p->next=s->next;p->next=s;
正确答案:A
7、7. 对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()。
A、head→next==NULL;
B、head==NULL;
C、head→next==he;
D、head!=NULL;
正确答案:A
8、8. 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
正确答案:√
9、9. 顺序表适宜于顺序存取,而链表适宜于随机存取。
正确答案:X
10、10. 线性表的链式存储结构中,逻辑上相邻的两个元素在物理位置上并不一定相邻。
正确答案:√
3.9章节测试
1、1. 栈和队列都是()。
A、限制存取点的非线性结构
B、顺序存储的线性结构
C、链式存储的非线性结构
D、限制存取点的线性结构
正确答案:D
2、2. 设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后随即进入队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是()。
A、3
B、6
C、4
D、2
正确答案:A
3、3. 设计一个判别表达式中括号是否匹配出现的算法,采用()的数据结构最佳。
A、栈
B、顺序表
C、队列
D、单链表
正确答案:A
4、4. 表达式a*(b+c)-d的后缀表达式是()。
A、abc*+d-
B、cb+a*d-
C、abc+*d-
D、abcd+*-
正确答案:A
5、5. 递归过程或函数调用时,处理参数及返回地址需要用一种()的数据结构。
A、栈
B、队列
C、多维数组
D、线性表
正确答案:A
6、6. 最大容量为n的循环队列,队尾指针为rear,队头指针为front,则队空的条件是()。
A、rear==front
B、(rear+1)%n==front
C、rear+1==front
D、(rear-l)%n==front
正确答案:A
7、7. 用带头结点的单链表表示队长大于1的队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时()。
A、仅修改队头指针
B、仅修改队尾指针
C、队头、队尾指针都要修改
D、队头,队尾指针都可能要修改
正确答案:A
8、8. 对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度和在给定值为x的结点后插入一个新结点的时间复杂度分别为()。
A、O(1),O(n)
B、O(n),O(n)
C、O(1),O(1)
D、O(n),O(1)
正确答案:A
9、9. 两顺序栈共享空间,也存在空间溢出问题。
正确答案:√
10、10.在对不带头结点的链队列作出队操作时,不会改变头指针的值。
正确答案:X
4.7章节测试
1、1. 串是一种特殊的线性表,其特殊性体现在()。