рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Обходы ордерева в глубину и в ширину

Обходы ордерева в глубину и в ширину - раздел Компьютеры, Алгоритм поиска с возвращением Во Многих Задачах Необходимо Обойти Некоторое Ордерево В Глубину Или В Ширину...

Во многих задачах необходимо обойти некоторое ордерево в глубину или в ширину, посещая каждую его вершину в точности один раз и выполняя при этом некоторую систематическую обработку информации, относящейся к этой вершине. Посещение каждой вершины дерева может быть связано или с выполнением простой операции, например с распечаткой пометки вершины дерева, или со сложной, например, с вычислением некоторой функции.

Рис. 20. Дерево

 

При префиксном обходе ордерева T, сначала нужно посетить его корень v, а затем, если v не является листом, то реализовать префиксный обход всех ее поддеревьев в порядке их упорядоченности. Например, для дерева, показанного на рис. 20, вершины будут проходиться в следующем порядке: A,B,C,D,E,F,G,H,I,J,K,L. Следующая рекурсивная процедура реализует префиксный обход ордерева:

procedure ПРЕФИКСНЫЙ-ОБХОД(T: ордерево);
begin
Посетить корень v ордерева T;
if v не лист then Пусть T1,…,Tk – поддеревья корня v;
for i := 1 to k do ПРЕФИКСНЫЙ-ОБХОД(Ti) end
end
end.

Если использовать стек S для хранения текущего пути по дереву, т.е. пути, который начинается в корне дерева и кончается в вершине, посещаемой в данный момент, то можно предложить следующий нерекурсивный алгоритм префиксного обхода ордерева:

Посетить корень дерева и поместить его в пустой стек S ;
while стек S не является пустым do
Пусть p – вершина, находящаяся на верху стека S ;
if Сыновья вершины p еще не посещались
then Посетить старшего сына вершины p и поместить его в стек S
else Удалить вершину p из стека S;
if p имеет братьев then Посетить брата вершины p и поместить его в стек S end
end
end

 

Способ обхода ордерева в ширину предполагает посещение вершин ордерева по старшинству, уровень за уровнем, отправляясь от корня. Например, при обходе в ширину изображенного на рис. 20 дерева вершины проходятся сверху вниз и слева направо и посещаются в следующем порядке: A,B,C,G,H,D,E,F,I,L,J,K. Приведенный ниже алгоритм реализует обход дерева в ширину, используя очередь О.

Поместить корень в пустую очередь O;
while очередь O не пуста do
Пусть p – первая вершина очереди O;
Посетить вершину p и удалить ее из O;
Поместить всех сыновей вершины p в очередь O, начиная со старшего сына
end

Следует заметить, что обход дерева поиска в ширину позволяет обходить дерево поиска одновременно с его построением. Таким образом, можно решать задачу нахождения какого-нибудь одного решения в форме вектора 1, а2,…) неизвестной длины (не зная r), если только известно, что существует конечное решение задачи.

– Конец работы –

Эта тема принадлежит разделу:

Алгоритм поиска с возвращением

Алгоритм поиска с возвращением... Обходы ордерева в глубину и в ширину... Обходы графа в глубину и в ширину...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Обходы ордерева в глубину и в ширину

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Алгоритм поиска с возвращением, их реализация с помощью рекурсий и динамических структур.
Рассмотрим общий случай, когда решение задачи имеет вид вектора (а1, а2,…), длина которого не определена, но ограничена сверху некоторым (известным или

Обходы графа в глубину и в ширину
Алгоритмы обхода дерева в глубину и в ширину можно модифицировать таким образом, чтобы их можно было использовать для систематического обхода всех вершин произвольного графа. Например, исп

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги