请教两个超简单的数据结构题?
1,设将整数依次进栈,但只要出栈时栈非空,则可将出操作按任何次序夹入其中请回答下述问题:(1)若入出栈次序为push(1),pop(),push(2),push(3),p...
1,设将整数依次进栈,但只要出栈时栈非空,则可将出操作按任何次序夹入其中请回答下述问题:
(1)若入出栈次序为push(1),pop(),push(2),push(3),pop(),pop(),push(4),pop(),则出的数字充列为何种序列?(这里push(i)表示进栈,pop()表示出栈)
(2)能否得到出序列1423,并说明为什么不能得到或者如何得到?
对于学习过数据结构的高手都比较简单请写出解析上面两题的详细过程!
满意马上采纳绝不拖欠分数!
能否得到出序列1423和1432,并说明为什么不能得到或者如何得到? 展开
(1)若入出栈次序为push(1),pop(),push(2),push(3),pop(),pop(),push(4),pop(),则出的数字充列为何种序列?(这里push(i)表示进栈,pop()表示出栈)
(2)能否得到出序列1423,并说明为什么不能得到或者如何得到?
对于学习过数据结构的高手都比较简单请写出解析上面两题的详细过程!
满意马上采纳绝不拖欠分数!
能否得到出序列1423和1432,并说明为什么不能得到或者如何得到? 展开
展开全部
(1) 1 3 2 4 按照后进先出的原则,1先进栈马上又出栈,第一个数为1,之后2,3先后进栈,出羡含数来是后进先老闹出,所以3出来后才是2,第二三个数为3,2,之后4先进栈后又出栈,第四个数是4,所以得到出栈序列为1 3 2
4
(2)是不能得到的。原因是上式只能得到1 3 2 4的序列。要想得到此序列,需要的操作是兄首:
push(1),pop(),push(2),push(4),pop(),pop(),push(3),pop()
或
push(4),push(1),pop(),pop(),push(2),pop(),push(3),pop()
或
push(3),push(2),push(4),push(1),pop(),pop(),pop(),pop()
等等可能还有其他的算法实现。你看对吗?
4
(2)是不能得到的。原因是上式只能得到1 3 2 4的序列。要想得到此序列,需要的操作是兄首:
push(1),pop(),push(2),push(4),pop(),pop(),push(3),pop()
或
push(4),push(1),pop(),pop(),push(2),pop(),push(3),pop()
或
push(3),push(2),push(4),push(1),pop(),pop(),pop(),pop()
等等可能还有其他的算法实现。你看对吗?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询