Главная arrow книги arrow Копия Глава 3. Решение проблем посредством поиска arrow Поиск решений
Поиск решений

•    Make-Queue (element,...). Создает очередь с заданным элементом (элементами).

•    Empty? (queue). Возвращает истинное значение, только если в очереди больше нет элементов.

•    Firs t (queue). Возвращает первый элемент в очереди.

•    Remove-First (gueue). Возвращает элемент First (gueue) и удаляет его из очереди.

•    Insert (element, queue). Вставляет элемент в очередь и возвращает результирующую очередь. (Ниже будет показано, что в очередях различных типов вставка элементов осуществляется в различном порядке.)

•    Insert-All (elements, queue). Вставляет множество элементов в очередь и возвращает результирующую очередь.

С помощью этих определений мы можем записать более формальную версию общего алгоритма поиска в дереве, показанную в листинге 3.3.

Листинг 3.3. Общий алгоритм поиска в дереве. Следует учитывать, что фактический параметр fringe (периферия) должен представлять собой пустую очередь, а порядок поиска зависит от типа очереди. Функция Solution возвращает последовательность действий, полученную путем прохождения по указателям на родительские узлы в обратном направлении, к корню