数据结构:栈和队列(11页).doc
《数据结构:栈和队列(11页).doc》由会员分享,可在线阅读,更多相关《数据结构:栈和队列(11页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数据结构:栈和队列1. 在一个具有n个单元的顺序栈中,假定以地址低端作为栈底,以top作为栈顶指针, 则当做退栈处理时,top变化为_。A. top不变 B. top-n C. toptop-1 D.top=top+12. 向顺序栈中压入元素时,是_。A.先移动栈顶指针,后存入元素 B.先存入元素,后移动栈顶指针 3. 在一个顺序存储的循环队列中,队首指针指向队首元素的_。A.前一个位置 B.后一个位置 C.队首元素位置4. 若进栈序列为1,2,3,4,进栈过程中可以出栈,则_不可能是一个出栈序列。A.3,4,2,1 B.2,4,3,1 C.1,4,3,2 D.3,2,1,45. 在具有n个
2、单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队空的条件是_。A.front= =rear+1 B.front+1= =rear C.front= =rear D.front= =06. 在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队满的条件是_。A.rear % n= =front B.(rear-1) % n= =front C.(rear-1) % n= =rear D.(rear+1) % n= =front7. 向一个栈项指针为hs的链栈中插入一个*s结点时,则执行_。A.hs-next=s; B
3、.s-next=hs-next; hs-next=s; C.s-next=hs;hs=s; D.s-next=hs; hs=hs-next;8. 在一个链队列中,假定front和rear分别为队首指针和队尾指针,则进行插入*s结点的操作时应执行_。A.front-next=s; front=s; B.rear-next=s; rear=s; C.front=front-next; D.front=rear-next;9. 栈的特点是_队的特点是_A.先进先出 B.先进后出 B|A10. 栈和队列的共同点是_。A.都是先进后出 B.都是先进先出 C.只允许在端点处插入和删除元素 D.没有共同点1
4、1. 一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是_。A.edcba B.decba C.dceab D.abcde12. 若己知一个栈的进栈序列是1,2,3,n,其输出序列为p1,p2,p3,pn,若p1=n,则pi(1i=n)为_。A.i B.n=I C.n-i+1 D.不确定13. 若己知一个栈的进栈序列是1,2,3,n,其输出序列为p1,p2,p3,pn,若pn=n,则pi(i=itop!=-1 B.st-top=-1 C.st-top!=MaxSize-1 D.st-top=MaxSize-118. 判定一个顺序栈st(最多元素为MaxSize)为栈满的条件是_。A
5、.st-top!=-1 B.st-top=-1 C.st-top!=MaxSize-1 D.st-top=MaxSize-119. 最不适合用作链栈的链表是_。A.只有表头指针没有表尾指针的循环双链表 B.只有表尾指针没有表头指针的循环双链表 C.只有表尾指针没有表头指针的循环单链表 D.只有表头指针没有表尾指针的循环单链表20. 向一个栈项指针为hs的链栈中插入一个s所指结点时,则执行_。A.hs-next=s; B.s-next=hs-next;hs-next=s; C.s-next=hs;hs=s; D.s-next=hs;hs=hs-next;21. 从一个栈项指针为hs的链栈中删除一
6、个结点时,用x保存被删结点的值,则执行_。A.x=hs;hs=hs-next; B.x=hs-data; C.hs=hs-next;x=hs-data; D.x=hs-data;hs=hs-next; 22. 一个队列的入队序列是1,2,3,4,则队列的输出序列是_。A.4,3,2,1 B.1,2,3,4, C.1,4,3,2 D.3,2,4,123. 判定一个环形队列qu(最多元素为MaxSize)为空的条件是_。A.qu-rear-qu-front=MaxSize B.qu-rear-qu-front-1=MaxSize C.qu-front=qu-rear D.qu-front=qu-r
7、ear+1 24. 判定一个环形队列qi(最多元素为MaxSize)为满队列的条件是_。A.(qu-rear+1)%MaxSize=qu-front B.qu-rear-qu-front-1=MaxSize C.qu-front=qu-rear D.qu-front=qu-rear+1 25. 环形顺序队列中是否可以插入下一个元素,_。A.与队头指针的队尾指针的值有关 B.只与队尾指针的值有关,与队头指针的值无关 C.只与数组大小有关,与队首指针和队尾指针的值无关 D.与曾经进行过多少次插入操作有关26. 环形队列用数组A0.MaxSize-1存放其元素值,己知其头尾指针分别是front和re
8、ar,则当前队列的元素个数是_。A.(rear-front+MaxSize)%MaxSize B.rear-front+1 C.(rear-front-1)%MaxSize D.(rear-front)%MaxSize27. 若用一个大小为6的一维数组来实现环形队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是_。A.1和5 B.2和4 C.4和2 D.5和128. 最不适合用作链队的链表是_。A.只带队头指针的非循环双链表 B.只带队头指针的循环双链表 C.只带队尾指针的循环双链表D.只带队尾指针的循环单链表29. 在一
9、个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算是_。A.f-next=s;f=s; B.r-next=s;r=s; C.s-next=r;r=s; D.s-next=f;f=s; 30. 在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算是_。A.r=f-next; B.r=r-next; C.f=f-next; D.f=r-next;31. 用单链表表示的链队的队头在链用不着的_位置。A.链头 B.链尾 C.链中 D.任意 32. 中缀表达式A*(B+C)/(D-E+F)的后缀表达式是_。A.A*B+C/D-E+F B.AB*C+D/E-F+ C.ABC+*
10、DE-+/ D.ABCDEF*+/-+ 33. 己知一个栈的进栈序列是ABC,出栈序列为CBA,经过的栈操作是_。A.push,pop,push,pop,push,pop B.push,push,push,pop,pop,pop C.push,push,pop,pop,push,pop D.push,pop,push,push,pop,pop34. 判定一个顺序栈st为(元素个数最多为MaxSize)空的条件为_。A.st.top=-1 B.st.top!=-1 C.st.top!=MaxSize D.st.top=MaxSize35. 判定一个顺序栈st(元素个数最多为MaxSize)为栈满
11、的条件是_。A.st.top!=-1 B.st.top=-1 C.st.top!=MaxSize-1 D.st.top=MaxSize-136. 表达式a*(b+c)-d的后缀表达式是_。A.abcd*+- B.abc+*d- C.abc*+d- D.-+*abcd37. 表达式(2+2*3)*2+6*3/2的后缀表达式是_。A.2 2 3 * + 2 * 6 3 * 2 / + B.2 2 * 3 + 2 * 6 3 * 2 / + C.2 2 3 * 2 * 6 3 * + 2 / + D.2 2 3 * + 2 6 3 * 2 / + *38. 链栈与顺序栈相比有一个明显的优点,即_。A
12、.插入操作更方便 B.通常不会出现栈满的情况 C.不会出现栈空的情况 D.删除操作更加方便39. 最不适合用作链栈的链表是_。A.只有表头指针没有表尾指针的循环双链表 B.只有表尾指针没有表头指针的循环双链表C.只有表尾指针没有表头指针的循环单链表 D.只有表头指针没有表尾指针的循环单链表40. 如果以链表作为栈的存储结构,则退链栈操作时_。A.必须判别栈是否满 B.判别链栈元素的类型 C.必须差别链栈是否空 D.对链栈不作任何差别41. 向一个不带头结点的栈指针为1st的链栈中插入一个s所指结点时,则执行_。A.1st-next=s; B.s-next=1st-next;1st-next=s
13、; C.s-next=1st;1st=s; D.s-next=1st;1st=1st-next;42. 从一个不带头结点的栈顶指针为1st的链栈中删除一个结点时,用x保存被删结点的值,则执行_。A.x=1st;1st=1st-next; B.x=1st-data; C.1st=1st-next;x=1st-data; D.x=1st-data;1st=1st-next;43. 一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是_.A.edcba B.decba C.dceab D.abcde 44. 在一个长度为n的顺序存储的集合中查找值为x的元素时,在等概率情况下,查找成功时的平
14、均查找长度为_。A.n B.n/2 C.(n+1)/2 D.(n-1)/245. 在一个长度为n的链接存储的集合中查找值为x的元素时,算法的时间复杂度为_。A.O(1) B.O(n) C.O(n*n) D.O(lbn)46. 已知一个元素x不属于一个长度为n的顺序或链接存储的集合中的元素,把它插入集合时不进行比较过程,则插入过程的时间复杂度为_。A.O(1) B.O(lbn) C.O(n) D.O(n*n)47. 设一个具有t个非零元素的m*n大小的稀疏矩阵采用顺序存储,求其转置矩阵的普通转置算法的时间复杂度为_。A.O(m) B.O(n) C.O(n+t) D.O(n*t)判断题:1. 栈底
15、元素是不能删除的元素。 F2. 顺序栈中元素值的大小是有序的。 F3. 在n个元素进栈后,它们的出栈顺序和进栈顺序一定正好相反。 T4. 栈顶元素和栈底元素有可能是同一个元素。 T5. 若用S1-Sm表示顺序栈的存储空间,则对栈的进栈、出栈操作最多只能进行m次。 F6. 栈没有栈顶指针。 F填空题:1. 在具有n个单元、顺序存储的循环队列中,队满时共有_个元素。n-12. 栈和队列的区别仅在于_。删除运算的不同3. 通常元素进栈的操作是_。先移动栈顶指针,后存入元素4. 通常元素退栈的操作是_。先取出元素,后移动栈顶指针5. 一个栈的输入序列是12345,则栈的输出序列432512是_。 不可
16、能的6. 一个栈的输入序列是12345,则栈的输出序列12345是_。 可能的7. 设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少应为_。 38. 设栈采用顺序存储结构,若己知i-1个元素进栈,则将第i个元素进栈时,进栈算法的时间复杂度为_。 O(1)9. 若用不带头结点的单链表来表示链栈S,则创建一个空栈所要执行的操作是_。 S=NULL10. 从环形队列中插入一个元素时,通常的操作是_。 先存放元素,后移动队尾指针11. 从环形队列中插入一个元素时,通常的操作是_。从环形队列中插入一个元素时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 队列 11
限制150内