Бинарное дерево - Prolog (226301)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Кто может помочь с заданием: Запишите последовательность предикатов, которые находят минимальной элемент на неупорядоченном двоичном дереве. Не пойму,что нужно сделать,и как нужно сделать?

Решение задачи: «Бинарное дерево»

textual
Листинг программы
domains
int=integer
tree = bt(int, tree, tree); nil
 
predicates
min(int,int,int)
minVal(tree,int)
 
clauses
 
min(X,Y,X) :- X<Y.
min(X,Y,Y) :- Y<=X.
 
minVal(bt(V,nil,nil),V).
minVal(bt(V,L,nil),M) :- minVal(L,ML),min(V,ML,M).
minVal(bt(V,nil,R),M) :- minVal(R,MR),min(V,MR,M).
minVal(bt(V,L,R),M)   :- minVal(L,ML),minVal(R,MR), min(ML,MR,MM), min(MM,V,M).

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы