输入:一个多值决策表T,含有n个条件属性f1, …, fn

输出:返回一棵决策树

构造树G的根节点,用表T标记

While (true) do

if 树G中的所有节点都没有用表标记,then 返回树G

else

选择树中的一个节点v,用表T的一个子表T′标记节点v

if U(T′) = 0 then

用子表T′中的公共决策代替子表T′标记节点v

else

对于每个fi,fi∈E(T’),计算不纯度函数I(T′, fi)的值;选择不纯度函数值最小(当不纯度函数值相同时,选择对应i值最小)的属性,记为fi0;用fi0代替子表T′标记节点v;对于每个δ,δ∈E(T′, fi),在树G中加入节点vδ,用子表T′(fi0, δ)标记;用δ表示从节点v到节点vδ的边。

end if

end if

end while