Сравнить два бинарных дерева на изоморфизм - Prolog
Формулировка задачи:
Как должна работать эта программа?Что подавать на вход?
Сравнить 2 дерева на изоморфизм
Листинг программы
- isotree(void,void).
- isotree(tree(X,L1,R1),tree(X,L2,R2)):-
- isotree(L1,L2),isotree(R1,R2).
- isotree(tree(X,L1,R1),tree(X,L2,R2)):-
- isotree(L1,R2),isotree(L2,R1)
Решение задачи: «Сравнить два бинарных дерева на изоморфизм»
textual
Листинг программы
- T1 = tree(1,tree(2,tree(3,tree(4,void,void),void),tree(5,void,void)),tree(6,tree(7,void,void),tree(8,void,void))),
- T2 = tree(1,tree(2,tree(3,tree(4,void,void),void),tree(5,void,void)),tree(6,tree(7,void,void),tree(8,void,void))),
- isotree(T1, T2),
- !
- write("2 дерева изоморфны"), nl; % <----- тут точка с запятой, конец ветки, важно
- write("2 дерева НЕ изоморфны"), nl.
Объяснение кода листинга программы
- Создаются два бинарных дерева: T1 и T2.
- Функция isotree(T1, T2) сравнивает деревья T1 и T2 на изоморфизм.
- Если деревья изоморфны, выводится сообщение
2 дерева изоморфны
, если нет -2 дерева НЕ изоморфны
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д