2
我想編寫一個程序,告訴我,如果樹是平衡與否。在這種情況下,平衡是指同一高度或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).
如果我嘗試你的建議我tree6(B(B(L(1),B(L(2),B(L(3),B(L(4),L(5))))) b(l(6),b(l(7),b(l(8),b(l(9),l(10)))))))根據代碼進行平衡,是。 – user940599
@Josie,忘記了調用abs函數。 –
你還必須檢查子樹。 – starblue