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

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

二叉樹

--概念--

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

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

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

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

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