Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- min(A, B, N) :- (A < B) -> N = A; N = B.
- min_tree(tree(X, void, void), X).
- min_tree(tree(X, void, R), N) :- min_tree(R, Y), min(X, Y, N).
- min_tree(tree(X, L, void), N):- min_tree(L, Y), min(X, Y, N).
- min_tree(tree(X, L, R), M) :- min_tree(L, Y), min_tree(R, Z), min(X, Y, N), min(N, Z, M).
- max(A, B, N) :- (A > B) -> N = A; N = B.
- max_tree(tree(X, void, void), X).
- max_tree(tree(X, void, R), N) :- max_tree(R, Y), max(X, Y, N).
- max_tree(tree(X, L, void), N) :- max_tree(L, Y), max(X, Y, N).
- max_tree(tree(X, L, R), M) :- max_tree(L, Y), max_tree(R, Z), max(X, Y, N), max(N, Z, M).
- is_search_tree(T) :-
- is_search_tree(void).
- is_search_tree(tree(X, void, void)).
- is_search_tree(tree(X, void, R)) :- min_tree(R, Y), (X > Y).
- is_search_tree(tree(X, L, void)) :- max_tree(L, Y), (X < Y).
- 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