1.引言        

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

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

            (圖一)                                                          (圖二)

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

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

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