candale icon

P32

candale | PRO | 11/21/13 07:02:11 PM UTC | 0 ⭐ | 232 👁️ | Never ⏰ | []
text |

870 B

|

None

|

0 👍

/

0 👎

domains
elem=integer
tree_t=tree(elem, tree_t, tree_t); null
 predicates
sum(tree_t, elem)
create_tree(elem, tree_t)
insert_right(tree_t, tree_t, tree_t)
insert_left(tree_t, tree_t, tree_t)
 clauses
create_tree(A, tree(A, null, null)).
 insert_right(T, tree(A,_,B), tree(A, T, B)).
insert_left(T, tree(A,B,_), tree(A,B,T)).
 sum(null, 0).
sum(tree(E, null, null), E).
sum(tree(E, R, L), Sum) :-
	sum(R, Sum1),
	sum(L, Sum2),
	Sum = Sum1 + Sum2 + E.
 goal
create_tree(1, T1),
create_tree(2, T2),
create_tree(3, T3),
create_tree(4, T4),
create_tree(5, T5),
create_tree(6, T6),
create_tree(7, T7),
write("Done creating nodes...\n"),
 insert_left(T4, T2, R1), 
insert_right(T5, R1, R2), 
insert_left(T6, T3, R3),
insert_right(T7, R3, R4), 
insert_left(R2, T1, R5),
insert_right(R3, R5, Root),
write("Done creating tree\n"),
sum(Root, Sum),
write(Sum).

Comments