對(duì)于數(shù)據(jù)結(jié)構(gòu)“樹(shù)”,想必大家都熟悉,今兒,我們就再來(lái)回顧一下數(shù)據(jù)結(jié)構(gòu)中的二叉樹(shù)與樹(shù),并用JavaScript實(shí)現(xiàn)它們。

ps:樹(shù)結(jié)構(gòu)在前端中,很多地方體現(xiàn)得淋漓盡致,如Vue的虛擬DOM以及冒泡等等。

二叉樹(shù)

--概念--

二叉樹(shù)是一種樹(shù)形結(jié)構(gòu),它的特點(diǎn)是每個(gè)結(jié)點(diǎn)至多只有兩棵子樹(shù)(即二叉樹(shù)中不存在度大于2的結(jié)點(diǎn)),并且,二叉樹(shù)的子樹(shù)有左右之分,其次序不能任意顛倒。

如下,就是一棵二叉樹(shù)(注:下文二叉樹(shù)相關(guān)例子,都以該二叉樹(shù)為例):

移動(dòng)開(kāi)發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

且,遍歷二叉樹(shù)(traversing binary tree)有三種常用方式,如下:

1)、先序遍歷二叉樹(shù) (根左右

網(wǎng)友評(píng)論