作业帮 > 数学 > 作业

怎么求二叉树的结点的层次啊

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/28 17:20:36
怎么求二叉树的结点的层次啊
含三个参数的,在以p结点(层次为i)为根的子树中,求x结点所在的层次
利用递归函数,遍历二叉树节点,分别求两个子树的层次i1,i2,取大的那个层次+1即为本层的层次,依次逐层递归调用该函数,直至所有节点均求得解,最后回归根节点p,得出该节点层次.
再问: 应该是这个节点的父母结点的层次加1吧!这个递归怎么写啊
再答: 子树的层次+1就是本身的层次,这个没有错的。因为递归本身只能从子树开始求层次的。最末端子树的层次为1。 '假设p为根节点 sub function 层次(p) as long '二叉树的两个子树节点p1,p2 '判断p是否为末节点(最末端节点),不是则执行下边语句,是则返回此节点层次为1 if 末节点(p) then 层次 = 1 else a=层次(p1) b=层次(p2) if a >b then 层次= a else 层次= b end if end if end sub 我这里没有具体给出二叉树的数据结构和判断子树为末节点的方法,主要是因为让你可以根据自己的结构进行编码。