CLRS解决方案8.4决策树的示例

时间:2015-05-29 14:34:57

标签: algorithm clrs

您是否有解决此问题的决策树示例。

我想绘制决策树用于回答问题(对于大多数人来说)。但我不知道如何绘制这个决策树。通过示例,我不知道叶子用于表示此算法的内容

问题2

  

假设你被给予n个红色和蓝色水壶,全部   不同的形状和大小。所有的红色水壶都有不同的数量   水,蓝色的水。而且,对于每个红色水罐,都有一个   持有相同水量的蓝色水壶,反之亦然。

     

你的任务是找到一组红色和蓝色的水罐   拿着相同水量的水壶。为此,您可以执行此操作   以下操作:选择一对红色和一个水壶   是蓝色的,用水填充红色水壶,然后倒入水中   蓝色水罐。这个操作会告诉你是红色还是蓝色的水罐   可以容纳更多的水,或者它们具有相同的体积。假使,假设   这种比较需要一个时间单位。你的目标是找到一个   算法,进行最小数量的比较来确定   分组。请记住,你不是直接比较两个红色水罐或   两个蓝色的水壶。

     

1.描述用户Θ(n2)与之比较的确定性算法   将水壶分成两组。   2.证明Ω的下限(nlgn)   解决此问题的算法必须进行的比较次数   使

     

要解决这个问题,算法必须执行一系列的操作   比较直到它有足够的信息来确定匹配。   我们可以根据决策来查看算法的计算   树。每个内部节点都标有两个水壶(一个红色,一个蓝色)   我们比较,并有三个外围边缘(红色水罐更小,相同   尺寸,或大于蓝色水罐)。叶子标有a   独特的水壶配套。第8章的解决方案:线性排序   时间8-17决策树的高度等于最坏情况   算法必须进行的比较次数来确定   匹配。要绑定该大小,我们首先计算数量   n红色和蓝色水罐可能匹配。如果我们标记红色水罐   从1到n,我们还标记了之前从1到n的蓝色水罐   开始比较,算法的每个结果都可以   表示为集合{(i,π(i)):1≤i≤n且π是一个置换   {1,...,n}},其中包含一对红色水罐(第一个组件)   和匹配的蓝色水壶(第二个组件)。每一个   置换π对应于不同的结果,必须有   完全是n!不同的结果。现在我们可以限制我们的高度h   决策树。每个树的分支因子为3(每个内部   节点最多有三个孩子)最多有3个叶子。自从   决定树必须至少有n!孩子,它遵循3h≥n! ≥   (n / e)n⇒h≥nlog3 n - n log3 e =(n lg n)。所以任何算法   解决问题必须使用(n lg n)比较。

0 个答案:

没有答案