二叉樹的最大深度與最小深度

2021-07-27 03:42:47 字數 545 閱讀 6482

求二叉樹的最大深度與最小深度,遞迴演算法。

二叉樹的最大深度是距根節點路徑最長的某一樹葉節點的深度。

二叉樹的深度等於二叉樹的高度,也就等於根節點的高度。根節點的高度為左右子樹的高度較大者+1。

由此思想可用遞迴求解,其實也就是後序遍歷二叉樹的演算法。

//     struct treenode 

// }

int maxdepth ( treenode* root )

return depth;

}

二叉樹的最小深度,等於左右子樹深度較小者+1。

這裡需要注意的問題是:求最大深度的時候,只需要比較左右子樹的深度,取較大者+1就行了;但是求最小深度的時候,需要區分雙子樹與單子樹,雙子樹時,深度較小者+1,單子樹時(即左右子樹有一顆為空時)為深度較大者+1。

主要思想仍然是後序遞迴遍歷。

int mindepth(treenode* root) 

return (l1;

}

二叉樹最大深度和最小深度

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的距離。如果二叉樹為空,則深度為0 如果不為空,分別求左子樹的深度和右子樹的深度,去最大的再加1,因為根節點深度是1,要加進去。int maxdepth treenode root 給定乙個二叉樹,找出其最小深度。二叉樹的最小深度為根...

二叉樹 最大深度和最小深度

leetcode 二叉樹的最大深度 leetcode 二叉樹的最小深度 我們知道完全二叉樹,是可以根據節點數量進行計算出深度的,但是非完成二叉樹呢 他就不滿足了,樹結構體 public class treenode 二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點...

二叉樹最大 最小深度

二叉樹求最大,最小深度是二叉樹很基本的問題,基本上就是簡單的遞迴問題!首先明確一下二叉樹深度的定義 從根節點到葉子節點的深度 二叉樹的節點無外乎三種狀態 1.左右子樹皆存在 2.為葉子節點,左右子樹皆為null 3.另外一種就是乙個子樹為null,另乙個非空。二叉樹其實就是遞迴遍歷的思想,首先想遞迴...