二叉樹的寬度是指二叉樹各層結點個數的最大值。求二叉樹的寬度可以依據與二叉樹的層次遍歷,我們知道,二叉樹的層次遍歷借助於deque實現,每次列印當前結點後將其左子樹右子樹入隊,此時佇列中既包含當前層的結點,也包含下一層的結點,若我們將當前層的結點全部出隊,剩餘的就是下一層的結點個數。所以,我們可以使用maxwidth來表示最大寬度,若下一層的結點個數大於maxwidth,則更新maxwidth,最終隊列為空,得到的maxwidth即為二叉樹的寬度。
以下是c++實現的源**:
//求二叉樹的寬度
int widthofbitree(bitree root)
maxwidth = maxwidth > d.size() ? maxwidth : d.size();
}return maxwidth;
}
求二叉樹寬度
題目 乙個二叉樹採用二叉鍊錶儲存,設計乙個函式計算這個二叉樹的寬度 解題思路 採用層次遍歷,將每乙個結點的資訊儲存在陣列中,結點的資訊包括這個結點的層數,以及結點的左右子樹,資料型別 為char型字元 然後對這個陣列進行遍歷,層號數目最多的即為該二叉樹最大寬度處的層號,然後計算這個層號的數目,即為最...
二叉樹 二叉樹
題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...
二叉樹的深度 二叉樹的深度 二叉樹最大寬度
題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 給定二叉樹 3,9,20,null,null,15,7 返回它的最大深度 3 根節點加上左右子樹的最大深度就是樹的最大深度。如下 class solution ...