java實(shí)現(xiàn)簡單的二叉樹 完全二叉樹一定存在度為1的結(jié)點(diǎn)?
完全二叉樹一定存在度為1的結(jié)點(diǎn)?不。在一個(gè)完整的二叉樹中,階數(shù)為1的節(jié)點(diǎn)數(shù)是1或0。一個(gè)完整的二叉樹可以看作是一個(gè)完整的二叉樹。在最后一級,一些節(jié)點(diǎn)是從右向左剪切的。請注意,完整二叉樹中所有節(jié)點(diǎn)的階數(shù)
完全二叉樹一定存在度為1的結(jié)點(diǎn)?
不。在一個(gè)完整的二叉樹中,階數(shù)為1的節(jié)點(diǎn)數(shù)是1或0。
一個(gè)完整的二叉樹可以看作是一個(gè)完整的二叉樹。在最后一級,一些節(jié)點(diǎn)是從右向左剪切的。請注意,完整二叉樹中所有節(jié)點(diǎn)的階數(shù)都是2或0,并且沒有階數(shù)為1的節(jié)點(diǎn)。
如果在完整二叉樹的最后一層中從左到右切割的節(jié)點(diǎn)數(shù)為偶數(shù),則完整二叉樹中階數(shù)為1的節(jié)點(diǎn)數(shù)為0。如果樹中只有一個(gè)完整的二進(jìn)制節(jié)點(diǎn),那么我們就知道它是什么。完全二叉樹的倒數(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è)完整的二叉樹