关于栈的习题的解答
2013-08-24 10:48
253 查看
栈可以看作铁道交换网。编号为 1 , 2,…n的车厢停在左车道上,当车厢停在右车道上时,要对它们进行重新排列(改序排列)可以将支线(栈)上的车厢留在那儿或者发送到右车道上,但不能将它再送回到进来时的车道。例如,如果n=3并且我们将车厢
1、2、3停在左车道上,则车厢3最先到达支线。然后我们可以将车厢2发送到支线,然后放在去右车道的路上,再将车厢3发送上路.然后是车厢1,因此获得的新序列为1、3、2 。
(1)如果n=3,找到所有可能获得的排列。
(2)如果n=4,找到所有可能获得的排列。
(3)挑战:对广义的n.找出使用这个栈可能得到多少种排列。
解:(1)n=3时,1、2、3停在左车道上。
a:3到支线,2到支线,然后1到右车道,2到右车道,3到右车道。新排列为3、2、1。
b:3到支线,2到右车道,然后3到右车道,1到右车道。新排列为1、3、2。
c:3到支线,2到右车道,然后1到右车道,3到右车道。新排列为3、1、2。
d:3到右车道,2到支线,然后1到右车道,2到右车道。新排列为2、1、3。
(2)n=4时,1、2、3、4停在左车道上。
同n=3时的原理可得到新排列的种类分别为4、3、2、1。 4、3、1、2。 4、1、3、2。 1、4、3、2。 1、2、4、3。 2、1、4、3。 1、4、2、3。 4、1、2、3。
4、2、1、3。 2、1、3、4。 1、3、2、4。 3、1、2、4。 3、2、1、4。
(3)对广义的n可能得到(n!/2)+1种新的排列。
1、2、3停在左车道上,则车厢3最先到达支线。然后我们可以将车厢2发送到支线,然后放在去右车道的路上,再将车厢3发送上路.然后是车厢1,因此获得的新序列为1、3、2 。
(1)如果n=3,找到所有可能获得的排列。
(2)如果n=4,找到所有可能获得的排列。
(3)挑战:对广义的n.找出使用这个栈可能得到多少种排列。
解:(1)n=3时,1、2、3停在左车道上。
a:3到支线,2到支线,然后1到右车道,2到右车道,3到右车道。新排列为3、2、1。
b:3到支线,2到右车道,然后3到右车道,1到右车道。新排列为1、3、2。
c:3到支线,2到右车道,然后1到右车道,3到右车道。新排列为3、1、2。
d:3到右车道,2到支线,然后1到右车道,2到右车道。新排列为2、1、3。
(2)n=4时,1、2、3、4停在左车道上。
同n=3时的原理可得到新排列的种类分别为4、3、2、1。 4、3、1、2。 4、1、3、2。 1、4、3、2。 1、2、4、3。 2、1、4、3。 1、4、2、3。 4、1、2、3。
4、2、1、3。 2、1、3、4。 1、3、2、4。 3、1、2、4。 3、2、1、4。
(3)对广义的n可能得到(n!/2)+1种新的排列。
相关文章推荐
- 关于本书第一、二章的习题解答
- 关于《C++程序设计教程》(第二版)钱能著 第二章课后习题第5题的解答程序
- [詹兴致矩阵论习题参考解答]习题3.3
- OpenJudge百炼习题解答(C++)--题4109:公共朋友-Common Friends
- 微软关于SDE、SDET、PM等职位的解答
- C++ Primer 习题解答 第二章
- Accelerated C++:通过示例进行编程实践——习题解答(第0章 入门)
- OpenJudge百炼习题解答(C++)--题4085:数组去重排序
- C++ Primer 习题解答 第三章
- TCP/IP详解卷1:协议第三章课后习题解答
- 安徽大学线性代数第二章习题册(详细解答)
- 《快学Scala》第四章习题解答
- [詹兴致矩阵论习题参考解答]习题4.12
- [詹兴致矩阵论习题参考解答]习题4.17
- 关于坛友的一个布局问题的解答
- 算法导论(3版)第4章习题的部分解答
- 《C++ Primer》第五版课后习题解答_第三章(2)(06-20)
- leetcode习题解答:45. Jump Game II
- 《C++编程思想》 第七章 常 量 (原书代码+习题+解答)
- Accelerated C++ 习题解答 第11章