若输入序列为1234,则通过栈只能得到4321的输出序列。
若输入序列为1234,则通过栈只能得到4321的输出序列。
参考答案和解析
错误解析:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈中的元素为先进后出。因此若输入序列为1234,则通过栈不止4321一个输出序列,总个数可通过“卡特兰数”C(n, 2n)/(n+1)计算,为C(4,8)/5=14,所以共有14种,包括4321,3421,3241,3214等。
相关考题:
栈的输入序列是1234,要想得到4321和3421的输出序列,则应进行的运算序列分别是(40)和(41)。(进代表进栈,出代表出栈)A.进出进出进出进出B.进进进进出出出出C.进进出出进进出山D.进进出出进出进出
已知栈S 初始为空,用 I 表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈 S 得到出栈序列a2a4a5a3a1的合法操作序列( )。A.IIOIIOIOOOB.IOIOIOIOIOC.IOOIIOIOIOD.IIOOIOIOOO
●设push、pop分别表示入栈、出栈操作,若初始栈为空,对于元素序列a b c,则操作序列push、pop、pop、push、push、pop (36)。(36)A.得到出栈序列为abcB.得到出栈序列为bacC.得到出栈序列为bcaD.是非法的操作序列
已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈S得到出栈序列a2a4a5a3a1的合法操作序列(58)。A.IIOIIOIOOOB.IOIOIOIOIOC.IOOIIOIOIOD.IIOOIOIOOO
单选题一个队列的入列序列是1234,则队列的输出序列是()。A4321B1234C1432D3241