我想我已经理解了,但是我找到的所有例子都是展示平衡树。如果我有一个不平衡树,我仍然可以用相同的方法处理,对吗?我说的答案是来自h节点的4,对吗?
回答:
你是对的。对于不平衡树,过程是相同的。树中的每一行在Max-player选择其子节点的最大值和Min-player选择其子节点的最小值之间交替进行。
节点b是一个Min-player节点,将获得值3,因为这是d(值5)和e(值3)的最小值。节点i是一个Min-player节点,将获得值0,因为这是m(值0)和n(值7)的最小值。节点f是一个Max-player节点,将获得值5,因为这是i(值0)和j(值5)的最大值。节点g是一个Max-player节点,将获得值8,因为这是k(值8)和l(值7)的最大值。节点c是一个Min-player节点,将获得值4,因为这是f(值5)、g(值8)和h(值4)的最小值。最后,节点a是一个Max-player节点,将获得值4,因为这是b(值3)和c(值4)的最大值。
下图显示了生成的极小极大树。每个节点中的最佳值用红色标签标记。