java實(shí)現(xiàn)簡(jiǎn)單的二叉樹 一顆深度為7的完全二叉樹至少有多少結(jié)點(diǎn)?
一顆深度為7的完全二叉樹至少有多少結(jié)點(diǎn)?有兩個(gè)公式可以用來回答這個(gè)問題。深度為K的完全二叉樹最多有2個(gè)K-1節(jié)點(diǎn),第K層最多有2個(gè)(K-1)節(jié)點(diǎn)。前六層中的節(jié)點(diǎn)總數(shù)為2^6-1=63。這一層有125個(gè)
一顆深度為7的完全二叉樹至少有多少結(jié)點(diǎn)?
有兩個(gè)公式可以用來回答這個(gè)問題。深度為K的完全二叉樹最多有2個(gè)K-1節(jié)點(diǎn),第K層最多有2個(gè)(K-1)節(jié)點(diǎn)。前六層中的節(jié)點(diǎn)總數(shù)為2^6-1=63。這一層有125個(gè)節(jié)點(diǎn),所以第七層有125-63個(gè)節(jié)點(diǎn)。另外,第七層最多64個(gè),第六層最多32個(gè)。所以葉節(jié)點(diǎn)數(shù)=第六層葉節(jié)點(diǎn)數(shù)(第七層62個(gè)節(jié)點(diǎn)需要31個(gè)節(jié)點(diǎn)發(fā)送左右子樹,只有一個(gè)節(jié)點(diǎn)沒有左右子節(jié)點(diǎn))第七層葉節(jié)點(diǎn)數(shù)(該層所有節(jié)點(diǎn)都是葉節(jié)點(diǎn))=162=63
1。首先,了解什么是完全二叉樹,而完全二叉樹是從完全二叉樹派生出來的。完全二叉樹的倒數(shù)第二層必須是完全二叉樹,最后一層可能不是完全二叉樹,但是葉節(jié)點(diǎn)是連續(xù)的。
2. 如何判斷它是否是一個(gè)完全二叉樹
我們使用層次遍歷來判斷它是否是一個(gè)完全二叉樹。遍歷時(shí)有兩種情況
如果有一個(gè)右子樹沒有左子樹,它肯定不是一個(gè)完全二叉樹
如果有一個(gè)節(jié)點(diǎn)不是所有的左子樹和右子樹,那么后面的節(jié)點(diǎn)必須是一個(gè)葉節(jié)點(diǎn)。如果它不是一個(gè)葉子節(jié)點(diǎn),它肯定不是一個(gè)完整的二叉樹