以孩子兄弟链表为存储结构 请设计递归和非递归算法求树的深度。【北方交通大学1999五(18分)】【南京
递归,南京,算法
已帮助 人
以孩子兄弟链表为存储结构,请设计递归和非递归算法求树的深度。【北方交通大学1999五(18分)】【南京航空航天大学2000九】
请帮忙给出正确答案和分析,谢谢!
-
正确答案:由孩子兄弟链表表示的树高度的递归模型是:若树为空高度为零;若第一子女为空高度为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);//第一
