Prolog
Шрифт:
внутри( Элем, Д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 ссылка
альфа-бета алгоритм
программная реализация
эффективность
анонимная переменная
арифметика в Прологе
арифметические
операторы
ребусы
арность
атом
атомы
декомпозиция ещё 1 ссылка
синтаксис
создание
ALO
реализация
AVL-справочник
AVL-дерево
Б
база
данных в Прологе
знаний
быстрая сортировка
В
вариант предложения
вероятностные знания
возврат автоматический ещё 1 ссылка
возвращенные оценки
вопрос типа
"как" ещё 1 ссылка
"почему" ещё 1 ссылка
встроенные операторы
+, -, *, /, div, is, mod ещё 1 ссылка
встроенные процедуры
>, <, >=, =<, =:=, =\=
! ещё 1 ссылка
=..
==
\==
arg
assert
asserta
assertz
atom
atomic
bagof
call
consult
fail
findall
functor
get ещё 1 ссылка
get0 ещё 1 ссылка
integer
is
name ещё 1 ссылка
nl
nonvar
nospy
not
notrace
put
read