внутри( Элем, в3( Д1, М2, Д2, М3, Д3) ):-
% Вершина имеет три поддерева
больше( М2, Элем), !,
% Элемент не во втором и не в третьем поддереве
внутри( Элем, Д1); % Поиск в первом поддереве
больше( М3, Элем), !, % Элемент не в третьем поддереве
внутри( Элем, Д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 ссылка
альфа-бета алгоритм
программная реализация
эффективность
анонимная переменная