什么是二叉樹?
在計(jì)算機(jī)科學(xué)中彰亥,二叉樹是每個(gè)節(jié)點(diǎn)最多有兩個(gè)子樹的樹結(jié)構(gòu)。通常子樹被稱作“左子樹”和“右子樹”衰齐,左子樹和右子樹同時(shí)也是二叉樹任斋。二叉樹的子樹有左右之分,并且次序不能任意顛倒耻涛。二叉樹是遞歸定義的废酷,所以一般二叉樹的相關(guān)題目也都可以使用遞歸的思想來解決瘟檩,當(dāng)然也有一些可以使用非遞歸的思想解決,我下面列出的一些算法有些采用了遞歸澈蟆,有些是非遞歸的墨辛。
關(guān)于結(jié)點(diǎn)的概念。
1.根結(jié)點(diǎn)是最頂上那個(gè)結(jié)點(diǎn),金字塔的塔頂,葉子結(jié)點(diǎn)是最下面的結(jié)點(diǎn),沒有子結(jié)點(diǎn)的結(jié)點(diǎn)就叫葉子結(jié)點(diǎn)2.度是說這個(gè)結(jié)點(diǎn)下面分出來的結(jié)點(diǎn)數(shù),因?yàn)槭?叉樹所以一個(gè)結(jié)點(diǎn)最多只能分出2個(gè)結(jié)點(diǎn),所以度只能在0,1,2中選擇趴俘。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3.度為0的結(jié)點(diǎn),由于下面沒有再分出新結(jié)點(diǎn)(子結(jié)點(diǎn)),所以度為0的結(jié)點(diǎn)就是葉子結(jié)點(diǎn) ? ? ? ? ? ? ? ? ? ? 4.n0是度為0的結(jié)點(diǎn),一樣的,n1和n2是指度為1和2的結(jié)點(diǎn)