1

我想知道如何获得二叉树的总高度。

这就是在我开始在脑海中循环错误之前我走了多远。

height( leaf(_), 1 ).
height( branch(Branch1, Branch2), H ):-
    height(Branch1, H1),
    height(Branch2, H2),
    is max(H1, H2).

我认为我走在正确的轨道上,但我似乎无法理解最后一部分(因为一旦设置了值就无法更改这些变量)。

4

1 回答 1

2

嗯,你快到了。我没有太多要说的,因为你写的已经很正确了,所以我就完成了。

height( leaf(_), 1 ).
height( branch(Branch1, Branch2), H ):-
    height(Branch1, H1),
    height(Branch2, H2),
    H is max(H1, H2) + 1.
于 2012-08-29T10:37:52.787 回答