求樹的深度

2021-08-10 15:26:58 字數 418 閱讀 6643

1.以孩子兄弟鍊錶作為儲存結構

//資料結構

typedef

struct csnodecsnode,*cstree;

//演算法

int depth(cstree t)

return m+1;//子樹的最大深度加上根節點的深度

}

2.利用層次遍歷,還是用上述資料結構

演算法思想:利用佇列,將節點按層次順序入隊,出隊,訪問。出隊訪問的時候,要判斷該節點是否為該層最右節點(怎麼判斷??),如果是,深度加1。並且再出隊訪問下一層。

int depth( cstree *t)//迴圈結束時p==null

} if(p==last)

} return d;

}

求樹的深度

輸入一棵二元樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 輸入二元樹 10 6 14 4 12 16輸出該樹的深度3。實現簡單的乙個查詢二叉樹的深度的函式。int gettreeheight tnode root int l...

樹 10 求最小深度

111.二叉樹的最小深度 隨想錄 給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最小深度 2.遞迴 definition for ...

求二叉樹的深度

題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉子結點一次經過的結點形成樹的一條路徑,最長路徑的長度為樹的深度。根節點的深度為1。解體思路 如果根節點為空,則深度為0,返回0,遞迴的出口 如果根節點不為空,那麼深度至少為1,然後我們求他們左右子樹的深度,比較左右子樹深度值,返回較大的那乙個 ...