【发布时间】:2009-08-28 04:07:08
【问题描述】:
可以使用l 和r 两个函数对二叉树进行编码
这样对于node n, l(n) 给出n, r(n) 的左孩子
给n的右孩子。
一棵树的分支是从根到叶子的路径, 分支到特定叶子的长度是 从根到叶的路径上的弧。
设MinBranch(l,r,x) 是一个简单的递归算法
采用由 l 和 r 函数编码的二叉树
与二叉树的根节点 x 和
返回二进制最短分支的长度
树。
给出这个算法的伪代码。
好的,所以基本上这就是我到目前为止的想法:
MinBranch(l, r, x)
{
if x is None return 0
left_one = MinBranch(l, r, l(x))
right_one = MinBranch(l, r, r(x))
return {min (left_one),(right_one)}
}
显然这不是很好或完美的。如果我会很高兴 人们可以帮助我得到这个完美和工作 - 任何帮助 将不胜感激。
【问题讨论】:
-
我会说你的版本很好,没有什么可添加的。
-
顺便说一句,您还可以编辑昨天的问题 (stackoverflow.com/questions/1339043...)... 这样您就不必重新表述所有内容了。
-
-1 表示错误的标题,删除您的问题,并要求人们解决您的硬件问题,而不是询问一些特别困扰您的事情的提示
-
你为什么要删除你的问题?
标签: algorithm binary-tree pseudocode