首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 范文大全
  • 古典文学
  • 职场知识
  • 中国文学
  • 公文书信
  • 外国名著
  • 寓言童话
  • 百家讲坛
  • 散文/诗歌
  • 美文欣赏
  • 礼仪知识
  • 民俗风情
  • 谜语大全
  • 名言警句
  • 数据结构第03章,栈和队列习题

    时间:2021-01-06 10:06:16 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:数据结构 队列 习题

     第三章 栈和队列

     一、选择题 1、一个栈的输入序列为:a,b,c,d,e,则栈不可能输出的序列是(

      )。

     A. a,b,c,d,e

      B. d,e,c,b,a

     C. d,c,e,a,b

     D. e,d,c,b,a 2、判断一个循环队列Q(最多n个元素)为满的条件是(

      )。

     A. Q->rear==Q->front

      B. Q->rear==Q->front+1

     C. Q->front==(Q->rear+1)%n

     D. Q->front==(Q->rear-1)%n 3、设计一个判别表达式中括号是否配对的算法,采用(

      )数据结构最佳。

     A. 顺序表

      B. 链表

     C. 队列

     D. 栈 4、若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0,3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为(

      )。

     A. 1和5

      B. 2和4

      C. 4和2

     D. 5和1 5、循环队列的队头和队尾指针分别为front和rear,则判断循环队列为空的条件是(

      )。

     A. front==rear

     B. front==0

     C. rear==0

      D. front=rear+1 6、一个顺序栈S,其栈顶指针为top,则将元素e入栈的操作是(

      )。

     A. *S->top=e;S->top++;

      B. S->top++;*S->top=e;

      C. *S->top=e

      D. S->top=e; 7、将递归算法转换成对应的非递归算法时,通常需要使用(

      )来保存中间结果。

     A. 队列

     B. 栈

      C. 链表

      D. 树 8、五节车厢以编号1,2,3,4,5顺序进入铁路调度站(栈),可以得到(

      )的编组。

     A. 3,4,5,1,2

      B. 2,4,1,3,5

      C. 3,5,4,2,1

      D. 1,3,5,2,4 9、在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为(

      )。

     A. front=front->next

     B. s->next=rear;rear=s C. rear->next=s;rear=s;

     D. s->next=front;front=s; 10、依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是(

      )。

     A. a

     B. b

     C. c

      D. d 11、正常情况下,删除非空的顺序存储结构的堆栈的栈顶元素,栈顶指针top的变化是(

      )。

     A. top不变

     B. top=0

     C. top=top+1

     D. top=top-1 12、判断一个循环队列 Q(空间大小为 M)为空的条件是(

      )。

     A. Q->front==Q->rear

      B. Q->rear-Q->front-1==M

     C. Q->front+1=Q->rear

     D. Q->rear+1=Q->front 13、循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队

     列中的元素个数是(

      )。

     A. (rear-front+m)%m

     B. rear-front+1 C. rear-front-1

     D. rear-front 14、在一个链队列中,假定队头指针front和队尾指针rear,删除一个结点的操作是(

      )。

     A. front=front->next

      B. rear= rear->next

     C. rear->next=front

      D. front->next=rear 15、队和栈的主要区别是(

      )。

     A. 逻辑结构不同

      B.

     存储结构不同 C. 所包含的运算个数不同

      D. 限定插入和删除的位置不同

     二、填空题 1、设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1,则栈的容量至少应该是_______。

     2、一个循环队列Q的存储空间大小为M,其队头和队尾指针分别为front和rear,则循环队列中元素的个数为:_______。

     3、在具有n个元素的循环队列中,队满时具有_______个元素。

     4、设循环队列的容量为70,现经过一系列的入队和出队操作后,front为20,rear为11,则队列中元素的个数为_______。

     5、已知循环队列的存储空间大小为20,且当前队列的头指针和尾指针的值分别为8和3,且该队列的当前的长度为_______。

     6、向量、栈和队列都是_______结构,可以在向量的_______位置插入和删除元素;对于栈只能在_______插入和删除元素;对于队列只能在_______插入和_______删除元素。

     7、栈是一种特殊的线性表,允许插入和删除运算的一端称为_______。不允许插入和删除运算的一端称为_______。

     8、_______是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。

     9、 向栈中压入元素的操作是先_______,后存入元素。

     10、从循环队列中删除一个元素时,其操作是先_______,后取出元素。

     三、判断题 1、栈和队列都是受限的线性结构。

     2、在单链表中,要访问某个结点,只要知道该结点的地址即可;因此,单链表是一种随机存取结构。

     3、以链表作为栈的存储结构,出栈操作必须判别栈空的情况。

     4、在表结构中最常用的是线性表,栈和队列不太常用。

      5、对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

      6、栈和队列是一种非线性数据结构。

     7、栈和队列的存储方式既可是顺序方式,也可是链接方式。

     8、两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

     9、队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

     10、一个栈的输入序列是 12345,则栈的输出序列不可能是 12345。

     四、综合题 1、若 Y 形铁道进行车厢调度,注意两侧铁道均为单向行驶,左侧进,右侧出,中间相当于栈可入可出,则请回答:

      (1)如果进站的车厢序列为 123,则可能得到的出站序列是什么?

      (2)如果进站的车厢序列为 123456,则能否 435612 和 135426 的出站序列,并请说明为什么不能得到或者如何得到(即写出以 S 表示进栈和以 X 表示出栈操作序列)。

     2、若进栈序列为abcd,请给出全部可能的出栈序列和不可能的出栈序列。

     3、设栈 s 和队列 q 初始状态为空,元素 a,b,c,d,e 和 f,依次通过栈 s,一个元素出栈后即进人队列,若 6 个元素出队的序列是 bdcfea,则栈 s 的容量至少应该存多少个元素? 4、已知一个中缀算术表达式为 3 + 4 / (25- (6+15))*8 写出对应的后缀算术表达式(逆波兰表达式)。

     5、写出表达式a*(b+c)-d的后缀算术表达式(逆波兰表达式)。

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识