大学数据结构有关栈的问题最近刚接触数据结构栈的知识,教材上有这样一道题:若按从左到右的顺序依次读入已知序列(a,b,c,

大学数据结构有关栈的问题
最近刚接触数据结构栈的知识,教材上有这样一道题:若按从左到右的顺序依次读入已知序列(a,b,c,d,e,f,g)中的元素,然后结合堆栈操作,能得到下列序列中的哪些序列(每个元素进栈一次,下列序列表示出栈次序)1.(d,e,c,f,b,g,a) 2.(f,e,g,d,a,c,b) 3.(e,f,d,g,b,c,a) 4(c,d,b,e,f,a,g)
如果下次题目给出N个元素呢,难道也一个答案一个答案去测试吗?那不是很浪费时间也增大计算量!有没有什么规律的,能通过规律排查答案.如果有高手知道请指教!
双手虚掐内八字 1年前 已收到1个回答 举报

5208967 幼苗

共回答了19个问题采纳率:94.7% 举报

这种问题有时候还只能是靠一步一步试试了...不过就我个人看来,要找规律的话,也只能看第一个出栈的元素是什么了.例如,第一个出栈的元素是f,那表示前面a,b,c,d,e都已经进栈了...所以不管后面的元素如何进栈,反正其中a,b,c,d,e,的出栈顺序已经确定了...只能e先...所以LZ的这道题可以直接排除2,3...

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.030 s. - webmaster@yulucn.com