首先看看只有三个元素时,决策树的图:
在决策树中,每个内结点都用i:j表示比较下标为i数组元素与下标为j的数组元素的大小。每一个叶结点是一个n个元素的全排列。
所以排序算法的执行对应于遍历一条从树的根到叶结点的路径!
因为有n个结点,根据高中学的组合排列知识,知道有n!个情况,也就是n!个叶子结点。
在决策树中,从根到任意一个可达叶结点之间的最长路径的长度,表示对应的排序算法中最坏情况下的比较次数。这样,一个比较算法的最坏情况的比较次数就是其决策树的高度。
定理8.1证明了任意一个比较算法在最坏情况下都需要做Ω(n lg n)次的比较。这个证明比较简单,可以看看书上的证明过程。
这一节其实没什么内容,就是一点基本的概念,以及了解比较算法可以通过转换为决策树这个模型去理解。
Read full article from Tanky Woo » 《算法导论》学习总结 — 7.第八章(1) 决策树
No comments:
Post a Comment