Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- domains
- treetype = tree(integer, treetype, treetype); empty
- predicates
- max_n(treetype, integer)
- max(integer,integer,integer)
- find_tree(treetype,integer,integer)
- clauses
- max(M,N,N) :- N>=M, !.
- max(M,N,M) :- M>=N, !.
- max_n(tree(X,empty,empty),X) :- !.
- max_n(tree(X,empty,R),Q) :- max_n(R,N), max(X,N,Q).
- max_n(tree(X,L,empty),Q) :- max_n(L,N), max(X,N,Q).
- max_n(tree(X,L,R),Q) :- max_n(L,LM), max_n(R,RM), max(RM,LM,QM), max(X,QM,Q).
- find_tree(tree(N,_,_),N,0):-!.
- find_tree(tree(_,L,_),X,K):-
- find_tree(L,X,K1),
- K=1+K1.
- find_tree(tree(_,_,R),X,K):-
- find_tree(R,X,K1),
- K=1+K1.
- goal
- T=tree(3,tree(4,tree(5,empty,tree(6,empty,tree(1,empty,empty))),tree(7,empty,empty)),tree(8,empty,empty)),
- max_n(T,M),
- write("Max:", M),nl,
- find_tree(T,M,K), write(M, " na ",K," urovne"),nl.
- database
- level ( integer, integer ) /* tree_node_ID, level */
- predicate
- cleanup_level_info.
- record_level( integer, integer ).
- recorded( integer, integer ).
- database
- tree( integer, integer, integer )
- /* -1 = empty */
- tree( 3, 4, 8 ).
- tree( 4, 5, 7 ).
- tree( 5, -1, 6 ).
- tree( 6, -1, 1 ).
- tree( 1, -1, -1 ).
- tree( 7, -1, -1 ).
- tree( 8, -1, -1 ).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement