关于栈的习题的解答

来源:互联网 发布:阿里云主营业务 编辑:程序博客网 时间: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种新的排列。

    

原创粉丝点击