【发布时间】:2011-09-08 15:47:52
【问题描述】:
我想编写一个程序来告诉我一棵树是否平衡。在这种情况下,平衡意味着相同的高度或 1 的高度差。
这是我目前所写的,但对于 1 的高度差不起作用。为什么?
balanced(l(_)).
balanced(b(B1, B2)):-
height(B1,H),
height(B2,H),
balanced(B1),
balanced(B2).
balanced(b(B1,B2)):-
height(B1,H + 1),
height(B2,H),
balanced(B1),
balanced(B2).
balanced(b(B1,B2)):-
height(B1,H),
height(B2,H + 1),
balanced(B1),
balanced(B2).
【问题讨论】:
标签: prolog tree-balancing