首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
试证明:若借助栈由输入序列12…n得到的输出序列为p1p2…
[问答题]
试证明:若借助栈由输入序列
12
…n得到的输出序列为p
1
p
2
…p
n
(它是输入序列的一个排列),则在输出序列中不可能出现这样的情形:存在着i<j<k使p
j
<p
k
<p
i。
添加笔记
邀请回答
收藏(3)
分享
纠错
3个回答
添加回答
4
推荐
赞花婆
这个问题和
3.1
题比较相似。因为输入序列是从小到大排列的,所以若
p
j
<p
k
<p
i
,则可以理解为通过输入序列
p
j
p
k
p
i
可以得到输出序列
p
i
p
j
p
k
,显然通过序列
123
是无法得到
312
的,参见
3.1
题。所以不可能存在着
i<j<k
使
p
j
<p
k
<p
i
。
发表于 2018-05-05 22:30:28
回复(0)
5
jsword
利用反证法。
假设存在
i<j<k
使
p
j
<p
k
<p
i,那么各元素进栈出栈后的顺序为pj,pk,pi.具体分析:
1)当 i < j 时,pj < pi ,说明pj是在pi进栈后进栈,且pj在pi前面出栈
2)
当 j < k时,pj < pk,
说明pj必须在pk入栈前就出栈,否则pj就被压在pk下面了。
3)当i < k时,pk < pi,表明pi是先于pk进栈。
这与正确的出栈顺序pi,pj,pk矛盾
发表于 2019-05-01 16:00:06
回复(1)
0
水坎火离
标记一下,《TAOCP》的2.2.1中练习的第5题
发表于 2020-02-25 12:12:50
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
上传者:
赞花婆
难度:
3条回答
3收藏
5961浏览
热门推荐
相关试题
如图 1 表示使用快表(页表)的虚...
编程基础
评论
(1)
4.该校1997年男女教师的比例为...
资料分析
言语理解与表达
资料分析
评论
(1)
计算机在工作过程中,若突然停电,(...
计算机常识
普及
C++
Pascal
选择题
评论
(1)
来自
NOIP2008初赛普及组
MySQL中执行 SELECT I...
SQL
评论
(1)
订单表order_table全部记...
查找
数据库
数据分析
SQL
评论
(2)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题