1.引言        

       學(xué)過數(shù)據(jù)結(jié)構(gòu)的同學(xué)對二叉樹應(yīng)該不陌生:二叉樹是一個連通的無環(huán)圖,每個節(jié)點最多有兩個子樹的樹結(jié)構(gòu)。如下圖(一)就是一個深度k=3的二叉樹。

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)       Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

            (圖一)                                                          (圖二)

       二元決策樹與此類似。不過二元決策樹是基于屬性做一系列二元(是/否)決策。每次決策從下面的兩種決策中選擇一種,然后又會引出另外兩種決策,依次類推直到葉子節(jié)點:即最終的結(jié)果。也可以理解為是對二叉樹的遍歷,或者很多層的if-else嵌套。

        這里需要特別說明的是:二元決策樹中的深度算法與二叉樹中的深度算法是不一樣的。二叉樹的深度是指有多少層,而二元決策樹的深度是指經(jīng)過多少層計算。以上圖(一)為例,二叉樹的深度k=3,而在二元決策樹中深度k=2。

        圖二就是一個二元決策樹的例子,其中最關(guān)鍵的是如何