Читаем Программирование на языке Пролог для искусственного интеллекта полностью

 больше( М, Элем), !,    % Вершина не во втором поддереве

 внутри( Элем, Д1);      % Поиск в первом поддереве

 внутри( Элем, Д2).      % Иначе - во втором поддереве

внутри( Элем, в3( Д1, M2, Д2, М3, Д3) ):-

  % Вершина имеет три поддерева

 больше( M2, Элем), !,

  % Элемент не во втором и не в третьем поддереве

 внутри( Элем, Д1);      % Поиск в первом поддереве

 больше( M3, Элем), !,   % Элемент не в третьем поддереве

 внутри( Элем, Д2);      % Поиск во втором поддереве

 внутри( Элем, Д3).      % Поиск в третьем поддереве

10.3

avl( Дер) :-

 аvl( Дер, Глуб).  % Дер является AVL-деревом глубины Глуб

avl( nil, 0).      % Пустое дерево - AVL -дерево глубины 0

avl( д( Лев, Кор, Прав), Г) :-

 avl( Лев, ГЛ),

 avl( Прав, ГП),

 ( ГЛ is ГП; ГЛ is ГП + 1; ГЛ is ГП - 1),

  % Глубины поддеревьев примерно совпадают

 макс( ГЛ, ГП, Г).

макс1( U, V, М) :- % М = 1 + макс( U, V)

 U > V, !, М is U + 1;

 М is V + 1.

Глава 11

11.1

вглубину1( [Верш | Путь], [Верш | Путь]) :-

 цель( Верш).

вглубину1( [Верш | Путь], Решение) :-

 после( Верш, Верш1),

 not принадлежит( Верш1, Путь),

 вглубину1( [ Верш1, Верш | Путь], Решение).

11.6

решить( СтартМнож, Решение) :-

  % СтартМнож - множество стартовых вершин

 bagof( [Верш], принадлежит( Верш, СтартМнож),

  Пути),

 вширину( Пути, Решение).

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных