Advertisement
Guest User

Untitled

a guest
Nov 27th, 2015
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. min(A, B, N) :- (A < B) -> N = A; N = B.
  2.  
  3. min_tree(tree(X, void, void), X).
  4. min_tree(tree(X, void, R), N) :- min_tree(R, Y), min(X, Y, N).
  5. min_tree(tree(X, L, void), N):- min_tree(L, Y), min(X, Y, N).
  6. min_tree(tree(X, L, R), M) :- min_tree(L, Y), min_tree(R, Z), min(X, Y, N), min(N, Z, M).
  7.  
  8. max(A, B, N) :- (A > B) -> N = A; N = B.
  9.  
  10. max_tree(tree(X, void, void), X).
  11. max_tree(tree(X, void, R), N) :- max_tree(R, Y), max(X, Y, N).
  12. max_tree(tree(X, L, void), N) :- max_tree(L, Y), max(X, Y, N).
  13. max_tree(tree(X, L, R), M) :- max_tree(L, Y), max_tree(R, Z), max(X, Y, N), max(N, Z, M).
  14.  
  15. is_search_tree(T) :-
  16. is_search_tree(void).
  17. is_search_tree(tree(X, void, void)).
  18. is_search_tree(tree(X, void, R)) :- min_tree(R, Y), (X > Y).
  19. is_search_tree(tree(X, L, void)) :- max_tree(L, Y), (X < Y).
  20. is_search_tree(tree(X, L, R)) :- min_tree(R, Y), max_tree(L, Z), (X > Y), (X < Z).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement