2012-08-29 4 views
1

이진 트리의 전체 높이를 얻는 방법을 알고 싶습니다.이진 트리의 높이 알아 내기

이것은 내 머리에 오류 루프가 시작하기 전에 내가 얼마나 멀리 왔는지입니다.

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

는 내가 바른 길에라고 생각하지만, 나는이 마지막 부분 (이 변수가 한 번 변경 될 수 없기 때문에 값이 설정되어있는) 주위에 내 머리를 정리하고 수없는 것.

답변

2

글쎄, 거의 다 왔어. 당신이 이미 쓴 것이 옳기 때문에 나는 말할 길이 없다. 그래서 나는 그 일을 끝내기 만 할 것이다.

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

haha ​​facepalm은 내 머리를 감싸고 내 머리를 싸서 H에 값을 지정하는 방법을 사용하고 있습니다. – Anticipating