注册 登录
编程论坛 数据结构与算法

求助一道数据结构问题

心空之上 发布于 2019-08-14 18:01, 2321 次点击
试证明:若借助栈由输入序列1,2,…,n得到输出序列为P1,P2,…,Pn(它是输入序列的一个排列),则在输出序列中不可能出现这样的情形:存在着i<j<k,使Pj<Pk<Pi。
答案是
i<j对于pi>pj的情况,则说明要将pj压到pi之上,也就是在pj出栈之后pi才能出栈。
这个答案我不太理解啊,为什么pi大于pj,pj是压在pi上面的,pj比较小那他应该先进栈才对呀,那不应该是pi压在pj上面吗。
求大神解答一下,能画图解答一下最好了#(乖)
2 回复
#2
心空之上2019-08-14 20:46
顶,求助
#3
三尺冰2019-10-23 22:26
i < j < k,说明了输出顺序为Pi, Pj, Pk
又Pi是最大的,它先输出,说明Pj,Pk满足Pj > Pk,矛盾。
我这样说的清楚吗?或者有什么错误吗?欢迎指正。
1