使用基于决策树比较的模型证明下界

时间:2019-02-09 21:54:44

标签: algorithm search complexity-theory clrs

您将如何使用决策树来证明搜索基于n个元素的排序列表具有基于比较模型的下界Omega(log n)?

2 个答案:

答案 0 :(得分:0)

请注意,假设条目已经存在,则搜索问题的下限必须至少与在排序数组中查找条目的问题一样大。为了解决这个新问题,请将您所拥有的相关信息表示为树中的一个节点,具体来说,一个节点就是可能包含您的值的一组索引。最初,您的值可以对应于任何索引,因此您的根将为{0,1,....,n}。

每当进行比较时,由于对数组进行了排序,因此有三种可能的结果:您要查找的值大于您与之比较的值,或者小于或等于该值。 ,因此您将可能的索引集一分为三。当当前节点表示单例集,并且比较次数与树的高度相对应时,您的算法可以解决该问题。

将树分成最小高度的n个单例叶子的树是log(n)阶,因此这是任何算法的下限。

答案 1 :(得分:0)

如果您必须使用决策树...

对于给定的长度 n ,基于比较的算法的行为可以表示为决策树,其中每片叶子都是您在比较序列和路径表示的结果之后得到的结果到那片叶子。

您已经证明,在具有 n 个叶子且分支因子为 3 的决策树中,通往叶子的最长路径必须至少具有 ceil (log_3(n))内部节点。

您可以用归纳法证明这一点,表明{1,2,3} 中的 n确实如此,这意味着对于所有更大的 n 都是如此,因为如果节点的子树有 n 个叶子,那么它的一个子树至少需要有 n / 3 个叶子。