我读here我们需要最少的log(n!)比较来使用任何类型的比较排序来排序n个元素,因为我们得到的最大2 ^ n个案例应该大于n! (排列的数量)。我只是不理解这一行,如何比较导致2 ^ t案例。例如,当我进行3次比较时,我们说我得到1> 2,3< 5,6> 9,我怎么得到8个案例?
答案 0 :(得分:0)
t
比较如何导致2^t
个案件?
如果您将其视为决策树,如我在评论中提供的链接所示,则会更加清晰。
单一比较提供了两种情况:
(a < b)
true false
有三个项目,你最终得到:
(a < b)
(a < c) (a < c)
(b < c) (b < c) (b < c) (b < c)
1 2 3 4 5 6 7 8
如您所见,每次比较都会产生两个分支。树中有八条可能的路径。每个叶节点代表一个结果。