数据结构:
考点1:栈和队列的特点
典型题例:
(1)栈和队列的共同特点是 (栈和队列的特点)
A)都是先进先出 B)都是先进后出
C)只允许在端点处插入和删除元素 D)没有共同点
解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除.二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种"后进先出"的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种"先进先出"的线性表.所以没有共同点
(2)下列关于栈叙述正确的是(栈)(11.3)
A)栈顶元素最先能被删除
B)栈顶元素最后才能被删除
C)栈底元素永远不能被删除
D)以上三种说法都不对
(3)下列叙述中正确的是(栈)(10.9)
A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D)上述三种说法都不对
(4)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是(栈进出顺序)
A)e3,e1,e4,e2 B)e2,e4,e3,e1
C)e3,e4,e1,e2 D)任意顺序
解析: 由栈"后进先出"的特点可知:A)中e1不可能比e2先出,C)中e3不可能比e4先出,且e1不可能比e2先出,D)中栈是先进后出的,所以不可能是任意顺序.B)中出栈过程如图所示:
(5)一个栈的初始状态为空。首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素 A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为【1】(栈)(10.9)
(6) (1)一个队列的初始状态为空,先将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为 。(队列)(10.3)
(7)设某循环列队的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有_____个元素。(队列)(10.3)
解析:循环队列中元素个数:尾指针减去头指针,若为负值,再加上队列容量。N=10-45+50=15.记住公式 (rear-front+容量)%容量
考点2:线性表(链表)特点
典型题例:
(1)链表不具有的特点是 (链表的特点)
A)不必事先估计存储空间 B)可随机访问任一元素
C)插入删除不需要移动元素 D)所需空间与线性表长度成正比
解析: 链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态申