Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
10.1
внутри(Элем, л(Элем)). % Элемент найден в листе
внутри(Элем, в2(Д1, М, Д2)):-
% Вершина имеет два поддерева
больше(М, Элем),!, % Вершина не во втором поддереве
внутри(Элем, Д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([Верш], принадлежит(Верш, СтартМнож),
Пути),
вширину(Пути, Решение).
Спасибо, что скачали книгу в бесплатной электронной библиотеке Royallib.ru
Оставить отзыв о книге
Все книги автора
[1]Чем выше приоритет, тем меньше его номер. — Прим. перев.
Дата публикования: 2015-10-09; Прочитано: 160 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!