题目:设有编号为1,2,3,4的四辆列车,顺序进入一个栈式结构的车站,具体写出这四辆 列车开出车站的所有可能的顺序。
今天看到这个数据结构练习题,一开始认为只有穷举然后验证的方法。
习题后面给出的答案:
至少有14种。
①全进之后再出情况,只有1种: 4,3,2,1
②进3个之后再出的情况,有3种,3,4,2,1 3,2,4,1 3,2,1,4
③进2个之后再出的情况,有5种,2,4,3,1 2,3,4,1 2,1,3,4 2,1,4,3 2,3,1,4
④进1个之后再出的情况,有5种,1,4,3,2 1,3,2,4 1,3,4,2 1,2,3,4 1,2,4,3
1-4的所有排列组合有n=4!=24种,然后我们需要依照下面的规律进行筛检:
例3,4,2,1
3后面比3小的数字有1和2,那么出栈的顺序必然是2,1,倒序排列
4后面比4小的是2和1,倒序
2后面比2小的是1,不需要检查
今天看到这个数据结构练习题,一开始认为只有穷举然后验证的方法。
习题后面给出的答案:
至少有14种。
①全进之后再出情况,只有1种: 4,3,2,1
②进3个之后再出的情况,有3种,3,4,2,1 3,2,4,1 3,2,1,4
③进2个之后再出的情况,有5种,2,4,3,1 2,3,4,1 2,1,3,4 2,1,4,3 2,3,1,4
④进1个之后再出的情况,有5种,1,4,3,2 1,3,2,4 1,3,4,2 1,2,3,4 1,2,4,3
1-4的所有排列组合有n=4!=24种,然后我们需要依照下面的规律进行筛检:
例3,4,2,1
3后面比3小的数字有1和2,那么出栈的顺序必然是2,1,倒序排列
4后面比4小的是2和1,倒序
2后面比2小的是1,不需要检查