Сравнить два бинарных дерева на изоморфизм - Prolog

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

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

Как должна работать эта программа?Что подавать на вход? Сравнить 2 дерева на изоморфизм
Листинг программы
  1. isotree(void,void).
  2. isotree(tree(X,L1,R1),tree(X,L2,R2)):-
  3. isotree(L1,L2),isotree(R1,R2).
  4. isotree(tree(X,L1,R1),tree(X,L2,R2)):-
  5. isotree(L1,R2),isotree(L2,R1)

Решение задачи: «Сравнить два бинарных дерева на изоморфизм»

textual
Листинг программы
  1. 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))),
  2. 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))),
  3. isotree(T1, T2),
  4. !
  5. write("2 дерева изоморфны"), nl; % <----- тут точка с запятой, конец ветки, важно
  6. write("2 дерева НЕ изоморфны"), nl.

Объяснение кода листинга программы

  1. Создаются два бинарных дерева: T1 и T2.
  2. Функция isotree(T1, T2) сравнивает деревья T1 и T2 на изоморфизм.
  3. Если деревья изоморфны, выводится сообщение 2 дерева изоморфны, если нет - 2 дерева НЕ изоморфны.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

15   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы