判斷是否是完全二叉樹算法 完全二叉樹和滿二叉樹的區(qū)別?
完全二叉樹和滿二叉樹的區(qū)別?完全二叉樹的定義:深度為K和N個節(jié)點的二叉樹稱為完全二叉樹,當(dāng)且僅當(dāng)每個節(jié)點對應(yīng)于深度為K的完全二叉樹中編號為1到N的節(jié)點時。完全二叉樹與滿二叉樹的區(qū)別?區(qū)別在于最后一層。
完全二叉樹和滿二叉樹的區(qū)別?
完全二叉樹的定義:深度為K和N個節(jié)點的二叉樹稱為完全二叉樹,當(dāng)且僅當(dāng)每個節(jié)點對應(yīng)于深度為K的完全二叉樹中編號為1到N的節(jié)點時。
完全二叉樹與滿二叉樹的區(qū)別?
區(qū)別在于最后一層。全二叉樹的定義是,除最后一層外,每層中的所有節(jié)點都有兩個子節(jié)點,即倒數(shù)第二層中的每個節(jié)點都有兩個子節(jié)點,因此最后一層中的節(jié)點數(shù)必須是倒數(shù)第二層的兩倍,這樣最后一層中的節(jié)點就不會丟失。一個完整的二叉樹的最后一層的節(jié)點數(shù)可以是倒數(shù)第二層的兩倍(一個完整的二叉樹必須是一個完整的二叉樹),也可以是一個或兩個。但是,這些丟失的節(jié)點只能是最右邊的節(jié)點。
完全二叉樹與滿二叉樹的區(qū)別?
完全二叉樹:完全二叉樹:完全二叉樹。除最后一層可能不滿意外,其他層都達(dá)到了該層的最大節(jié)點數(shù)。如果最后一層不滿意,則該層的所有節(jié)點都在左滿二叉樹上,所有層的節(jié)點數(shù)都達(dá)到最大值
1。首先了解什么是完全二叉樹,而完全二叉樹是從完全二叉樹派生出來的。完全二叉樹的倒數(shù)第二層必須是完全二叉樹,最后一層可能不是完全二叉樹,但是葉節(jié)點是連續(xù)的。
2. 如何判斷它是否是一個完全二叉樹
我們使用層次遍歷來判斷它是否是一個完全二叉樹。遍歷時有兩種情況
如果有一個右子樹沒有左子樹,它肯定不是一個完全二叉樹
如果有一個節(jié)點不是所有的左子樹和右子樹,那么后面的節(jié)點必須是一個葉節(jié)點。如果它不是一個葉子節(jié)點,它肯定不是一個完整的二叉樹