1.引言        

       学过数据结构的同学对二叉树应该不陌生:二叉树是一个连通的无环图,每个节点最多有两个子树的树结构。如下图(一)就是一个深度k=3的二叉树。

Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训       Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训

            (图一)                                                          (图二)

       二元决策树与此类似。不过二元决策树是基于属性做一系列二元(是/否)决策。每次决策从下面的两种决策中选择一种,然后又会引出另外两种决策,依次类推直到叶子节点:即最终的结果。也可以理解为是对二叉树的遍历,或者很多层的if-else嵌套。

        这里需要特别说明的是:二元决策树中的深度算法与二叉树中的深度算法是不一样的。二叉树的深度是指有多少层,而二元决策树的深度是指经过多少层计算。以上图(一)为例,二叉树的深度k=3,而在二元决策树中深度k=2。

        图二就是一个二元决策树的例子,其中最关键的是如何