关于栈的习题的解答
来源:互联网 发布:阿里云主营业务 编辑:程序博客网 时间:2024/05/22 01:49
栈可以看作铁道交换网。编号为 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种新的排列。
- 关于栈的习题的解答
- 关于本书第一、二章的习题解答
- SICP习题1.6的解答
- 关于栈的习题
- 有关霍夫曼编码的两个习题解答
- 有关霍夫曼编码的两个习题解答
- 关于类的习题
- 关于CE6的提问解答
- 关于const的全面解答
- 关于线程的经典解答
- 关于《C++程序设计教程》(第二版)钱能著 第二章课后习题第5题的解答程序
- 算法设计与分析习题2的部分解答
- 求一道“编译原理---清除左递归”习题的解答
- j2se非常经典的题目 java习题与解答
- 《unix环境高级编程》APUE 习题5.4 的解答
- C++primer 第四版部分习题的解答
- 关于组策略的习题
- 关于vector的习题(一)
- Android在主UI中使用Socket服务
- jdbc mysql 中文乱码问题的解决
- Length of Last Word
- Activity中的onCreate(Bundle savedInstanceState)
- linux下使用python进行opencv开发
- 关于栈的习题的解答
- 控制随机抽中几率 [ C# | Random ]
- 服务器双网卡的作用
- 编程原则
- ldd3 scull代码理解
- UNIX 环境高级编程之我见
- MySQL导出导入
- 白话最小边覆盖总结--附加 hdu1151结题报告
- S_OK,S_FALSE,E_FAIL