以孩子兄弟链表为存储结构 请设计递归和非递归算法求树的深度。【北方交通大学1999五(18分)】【南京

大学 递归,南京,算法 已帮助 人

以孩子兄弟链表为存储结构,请设计递归和非递归算法求树的深度。【北方交通大学1999五(18分)】【南京航空航天大学2000九】

请帮忙给出正确答案和分析,谢谢!

热搜:二叉链表作为二叉树的存储结构,在具有n

答案解析

难度★★☆ 搜索
  • 正确答案:由孩子兄弟链表表示的树高度的递归模型是:若树为空高度为零;若第一子女为空高度为1和兄弟子树高度的大者;否则高度为第一子女树高度加1和兄弟子树高度的大者。其非递归算法使用队列逐层遍历树取得树的高度。递归算法的核心语句段如下: if(bt==null)return(0); else if(1bt->firstchild)return(max(1height(bt->nextsibling))); else(hc=height(bt一>firstchild); //第一
    由孩子兄弟链表表示的树高度的递归模型是:若树为空,高度为零;若第一子女为空,高度为1和兄弟子树高度的大者;否则,高度为第一子女树高度加1和兄弟子树高度的大者。其非递归算法使用队列,逐层遍历树,取得树的高度。递归算法的核心语句段如下:if(bt==null)return(0);elseif(1bt->firstchild)return(max(1,height(bt->nextsibling)));else(hc=height(bt一>firstchild);//第一