niusouti.com

● 对于一个长度大于1且不存在重复元素的序列,令其所有元素依次通过一个初始为空的队列后,再通过一个初始为空的栈。设队列和栈的容量都足够大,一个序列通过队列(栈)的含义是序列的每个元素都入队列(栈)且出队列(栈)一次且仅一次。对于该序列在上述队列和栈上的操作,正确的叙述是(57)。(57)A.出队序列和出栈序列一定相同B.出队序列和出栈序列一定互为逆序C.入队序列与出队序列一定相同,入栈序列与出栈序列不一定相同D.入栈序列与出栈序列一定互为逆序,入队序列与出队序列不一定互为逆序

题目

● 对于一个长度大于1且不存在重复元素的序列,令其所有元素依次通过一个初始为空的队列后,再通过一个初始为空的栈。设队列和栈的容量都足够大,一个序列通过队列(栈)的含义是序列的每个元素都入队列(栈)且出队列(栈)一次且仅一次。对于该序列在上述队列和栈上的操作,正确的叙述是(57)。

(57)A.出队序列和出栈序列一定相同

B.出队序列和出栈序列一定互为逆序

C.入队序列与出队序列一定相同,入栈序列与出栈序列不一定相同

D.入栈序列与出栈序列一定互为逆序,入队序列与出队序列不一定互为逆序


相似考题
更多“● 对于一个长度大于1且不存在重复元素的序列,令其所有元素依次通过一个初始为空的队列后,再通过一个初始为空的栈。设队列和栈的容量都足够大,一个序列通过队列(栈)的含义是序列的每个元素都入队列(栈)且出队列(栈)一次且仅一次。对于该序列在上述队列和栈上的操作,正确的叙述是(57)。(57)A.出队序列和出栈序列一定相同B.出队序列和出栈序列一定互为逆序C.入队序列与出队序列一定相同,入栈序列与出栈序列不一定相同D.入栈序列与出栈序列一定互为逆序,入队序列与出队序列不一定互为逆序”相关问题
  • 第1题:

    对于一个相始为空的栈,其入栈序列为 1、2、3、…、n (n>3) ,若出栈序列的第一个元素是 1,则出栈序列的第n 个元素( )。

    A.可能是 2 ~ n中的任何一个B.一定是 2C.一定是 n-1D.一定是 n


    正确答案:A

  • 第2题:

    设有初始力空的栈s,对于入栈序列a、b、c、d,经由一个合法的进栈和出栈操作序列后(每个元素迸栈、出栈各1次),以c作为第一个出栈的元素时,不能得到的序列为( )。

    A.c d b aB.c b d aC.c d a bD.c b a d


    正确答案:C

  • 第3题:

    若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为 ( )

    A.321
    B.213
    C.231
    D.123

    答案:B
    解析:
    栈的运算特点为在同一端插入和删除元素,即先入后出,总是栈顶元素先出栈,新元素总是压在栈顶元素之上并成为栈顶元素。初始栈为空,如下图(a)所示。对于元素 1、2、3,依照操作序列push、push、pop、pop、push、pop,可以得到出栈序列213,其过程为:第一个push操作将元素1压入栈中,如下图(b)所示:第二个push操作将元素2压入栈中,如下图(c)所示:第一个pop将栈顶元素2弹出栈,新栈顶元素为1,如下图(d)所示;第二个pop将栈顶元素1弹出栈,导致栈空,如下图(e)所示:其后的push和pop分别将元素3压入和弹出栈,操作结果如下图(f)和(g)所示。

  • 第4题:

    对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为( )。

    A. d c b a
    B. d a b c
    C. d c a b
    D. d b c a

    答案:A
    解析:

  • 第5题:

    令序列X、Y、Z的每个元素都按顺序进栈,且每个元素进栈和出栈仅一次,则不可能得到的出栈序列是( )。

    A.XYZ
    B.XZY
    C.ZXY
    D.YZX

    答案:C
    解析:

  • 第6题:

    已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈S得到出栈序列a2a4a5a3a1的合法操作序列( )

    A.IIOIIOIOOO
    B.IOIOIOIOIO
    C.IOOIIOIOIO
    D.IIOOIOIOOO

    答案:A
    解析:

  • 第7题:

    对于初始为空的栈S,入栈序列为a、b、c,且每个元素进栈、出栈各1次。则不合法的出栈序列为( )。

    A.c b a
    B.c a b
    C.a b c
    D.b c a

    答案:B
    解析:
    栈的特点是先进后出的,如下图所示,且每个元素进栈、出栈各1次,经分析c第一个出栈的话,后面只能跟b,不可能跟a。所以B选项的出栈顺序是不合理的。

  • 第8题:

    对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。则不合法的出栈序列为( )

    A.d c b a
    B.a b c d
    C.d a b c
    D.b c d a

    答案:C
    解析:
    栈的特点是先进后出的,如下图所示,且每个元素进栈、出栈各1次,经分析d第一个出栈的话,后面只能跟c,不可能跟a。所以C选项的出栈顺序是不合理的。

  • 第9题:

    对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为( )。

    A.d c b a
    B.d a b c
    C.d c a b
    D.d b c a

    答案:A
    解析:
    题干要求d第一个出栈,所以入栈的次序为a,b,c,d,栈是先进后出的,所以出栈序列为d,c,b,a。

  • 第10题:

    假设以S和X分别表示入栈和出栈的操作,则初态和终态均为空栈的入栈和出栈的操作序列可以表示为仅由S和X组成的序列。称可以操作的序列为合法序列(例如,SXSX为合法序列,SXXS为非法序列)。试给出区分给定序列为合法序列或非法序列的一般准则,并证明:两个不同的合法(栈操作)序列(对同一输入序列)不可能得到相同的输出元素(注意:在此指的是元素实体,而不是值)序列。


    正确答案: 任何前n个序列中S的个数一定大于X的个数。
    设两个合法序列为:
    T.1=S……X……S……
    T.2=S……X……X……
    假定前n个操作都相同,从第n+1个操作开始,为序列不同的起始操作点。由于前n个操作相同,故此时两个栈(不妨为栈A、B)的存储情况完全相同,假设此时栈顶元素均为a。
    第n+1个操作不同,不妨T1的第n+1个操作为S,T2的第n+1个操作为X。T1为入栈操作,假设将b压栈,则T1的输出顺序一定是先b后a;而T2将a退栈,则其输出顺序一定是先a后b。由于T1的输出为……ba……,而T2的输出顺序为……ab……,说明两个不同的合法栈操作序列的输出元素的序列一定不同。

  • 第11题:

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


    正确答案:3

  • 第12题:

    填空题
    栈的特点是(),队列的特点是(),栈和队列都是()。若进栈序列为1,2,3,4 则()不可能是一个出栈序列(不一定全部进栈后再出栈);若进队列的序列为1,2,3,4 则()是一个出队列序列。

    正确答案: 后进先出,先进先出,限制存取点的线性结构,4,2,3,1,1,2,3,4
    解析: 暂无解析

  • 第13题:

    设有初始为空的栈S,对于入栈序列a、b、c,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),不能得到的序列为( )。

    A.abcB.acb C.cab D.Cba


    正确答案:C

  • 第14题:

    ●设push、pop分别表示入栈、出栈操作,若初始栈为空,对于元素序列a b c,

    则操作序列push、pop、pop、push、push、pop (36)。

    (36)

    A.得到出栈序列为abc

    B.得到出栈序列为bac

    C.得到出栈序列为bca

    D.是非法的操作序列


    正确答案:D

  • 第15题:

    设有初始力空的栈s,对于入栈序列a、b、c、d,经由一个合法的进栈和出栈操作序列后(每个元素迸栈、出栈各1次),以c作为第一个出栈的元素时,不能得到的序列为( )。

    A. c d b a
    B. c b d a
    C. c d a b
    D. c b a d

    答案:C
    解析:
    本题考察数据结构与算法的基础知识。在本题中,c第一个出栈,则说明a、b已经入栈,那么 a应该在b后面出栈。

  • 第16题:

    对于一个相始为空的栈,其入栈序列为 1、2、3、…、n (n>3) ,若出栈序列的第一个元素是 1,则出栈序列的第 n 个元素(38)

    A.可能是 2 ~ n 中的任何一个
    B.一定是 2
    C.一定是 n-l
    D.一定是 n

    答案:A
    解析:
    出入栈的基本原则为:先进后出,后进先出。但是此时不确定2……n出入栈的情况,如果2进栈,2出栈,3进栈,3出栈……在i进栈后,以序列i+1,i+2……n依次进栈后再依次出栈,则最后出栈的为i(2<=i<=n)。

  • 第17题:

    对于长度为m(m>1)的指定序列,通过初始为空的一个栈、一个队列后,错误的叙述是()。

    A.入栈序列与出栈序列关系为1:1,而入队序列与出队序列关系是1:n(n≥1)
    B.若入栈和入队的序列相同,则出栈序列和出队序列可以互为逆序
    C.入队序列与出队序列关系为1:1,而人栈序列与出栈序列关系是1:n(n≥1)
    D.若入栈和人队的序列相同,则出栈序列和出队序列可能相同

    答案:A
    解析:
    队列的元素按特点是先进先出。对于队列,元素的进入次序和出队的次序相同,例如,入队的序列为a、b、c,则出队的序列也为a、b、c。对于栈则不同,栈的运算特点是后进先出。若入栈序列为a、b、c,则出栈序列可能为a、b、c,a、c、b,b、a、c,b、c、a或者c、b、a,而c、a、b则不行,因此,入栈序列与出栈序列关系为1:1,而人队序列与出队序列关系为1:n(n≥1)。

  • 第18题:

    设有初始为空的栈S,对于入栈序列a、b、c,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),不能得到的序列为( ).

    A.abc
    B.acb
    C.cab
    D.Cba

    答案:C
    解析:
    C中cba意味着c先出栈,此时b与a仍在栈中,按照先进后出的原则,这时候只能是按照ba出栈。

  • 第19题:

    对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈序列的第一个元素为d,则合法的出栈序列为( )

    A.d c b a
    B.d a b c
    C.d c a b
    D.d b c a

    答案:A
    解析:
    题干要求d第一个出栈,所以入栈的次序为a,b,c,d,栈的特点是先进后出的,如下图所示,且每个元素进栈、出栈各1次,所以出栈序列为d,c,b,a。

  • 第20题:

    对于一个长度为n(n>1)且元素互异的序列,令其所有元素依次通过一个初始为空的栈后,再通过一个初始为空的队列。假设队列和栈的容量都足够大,且只要栈非空就可以进行出栈操作,只要队列非空就可以进行出队操作,那么以下叙述中,正确的是( )。

    A.出队序列和出栈序列一定互为逆序
    B.出队序列和出栈序列一定相同
    C.入栈序列与入队序列一定相同
    D.入栈序列与入队序列一定互为逆序

    答案:B
    解析:
    本题考查数据结构基础知识。栈和队列都是线性的数据结构。栈的操作要求是入栈和出栈都在表尾进行,即在栈中有多个元素时,后进去的元素先出来,特点是后进先出,元素入栈的顺序与出栈的顺序可以相同也可以不同。而队列的修改要求是在队尾加入元素,在队头删除元素,特点是先进先出,元素的入队顺序与出队顺序一定相同。将一个栈和队列连接后,进出队列的元素顺序是相同的,而进入队列的元素顺序正是从栈中出来的元素顺序,因此,正确的叙述为出队序列与出栈序列一定相同

  • 第21题:

    已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈S得到出栈序列a2a4a5a3a1的合法操作序列(58)。

    A.IIOIIOIOOO
    B.IOIOIOIOIO
    C.IOOIIOIOIO
    D.IIOOIOIOOO

    答案:A
    解析:
    操作步骤:a1a2入,a2出,a3a4入,a4出,a5入,a5出,a3出,a1出。

  • 第22题:

    栈的特点是(),队列的特点是(),栈和队列都是()。若进栈序列为1,2,3,4 则()不可能是一个出栈序列(不一定全部进栈后再出栈);若进队列的序列为1,2,3,4 则()是一个出队列序列。


    正确答案:后进先出;先进先出;限制存取点的线性结构;4,2,3,1;1,2,3,4

  • 第23题:

    问答题
    假设以S和X分别表示入栈和出栈的操作,则初态和终态均为空栈的入栈和出栈的操作序列可以表示为仅由S和X组成的序列。称可以操作的序列为合法序列(例如,SXSX为合法序列,SXXS为非法序列)。试给出区分给定序列为合法序列或非法序列的一般准则,并证明:两个不同的合法(栈操作)序列(对同一输入序列)不可能得到相同的输出元素(注意:在此指的是元素实体,而不是值)序列。

    正确答案: 任何前n个序列中S的个数一定大于X的个数。
    设两个合法序列为:
    T.1=S……X……S……
    T.2=S……X……X……
    假定前n个操作都相同,从第n+1个操作开始,为序列不同的起始操作点。由于前n个操作相同,故此时两个栈(不妨为栈A、B)的存储情况完全相同,假设此时栈顶元素均为a。
    第n+1个操作不同,不妨T1的第n+1个操作为S,T2的第n+1个操作为X。T1为入栈操作,假设将b压栈,则T1的输出顺序一定是先b后a;而T2将a退栈,则其输出顺序一定是先a后b。由于T1的输出为……ba……,而T2的输出顺序为……ab……,说明两个不同的合法栈操作序列的输出元素的序列一定不同。
    解析: 暂无解析