摘要:
给定二叉树(不是二叉搜索树)和两个节点n1和n2,编写程序以找到他们的最近公共祖先(Lowest Common Ancestor, LCA )。 LCA定义 最近公共祖先是两个节点所有公共祖先中离根节点最远的节点。 计算节点的最近公共祖先是很有用的。 例如,为了确定树中节点之间距离:从n1节点到n2 阅读全文
摘要:
沿每个节点v到根r的唯一通路上节点数目,称作v 的深度(depth),记作depth(v)。 依据深度排序,可对所有节点做分层归类。特别地,约定根节点的深度 depth(root) = 1, 故属于第1层。 树T中所有节点深度的最大值称作该树的高度(height),记作height(T)。空树的高度 阅读全文
摘要:
二叉树的大小是指树中存在的节点的数量。例如,下面这棵二叉树的大小是5。 我们定义 size(tree) 函数用来递归地计算二叉树 tree 的大小,它的工作原理如下 二叉树的大小 = 1 + 左子树的大小 + 右子树的大小 Algorithm: 阅读全文