Шаг 46.
Обратный обход бинарного дерева поиска

    На этом шаге мы рассмотрим алгоритм обратного обхода бинарного дерева.

    И, наконец, приведем алгорим обратного обхода дерева, который заключается в следующем:

    Применяя этот алгоритм к бинарным деревьям I, II, обойдем вершины в следующем порядке:


Рис.1. Примеры бинарных деревьев

происходит в следующем порядке:

    M D N B E A C
    D B E C R   

    Запишем алгоритм в виде рекурсивной функции:

void ObhodBack (node **w)
// Обратный обход бинарного дерева.
// *w - указатель на корень дерева.
{
  if (*w!=NULL)
  { ObhodBack (&((**w).Left)); 
    cout<<(**w).Key<<" "; 
    ObhodBack (&((**w).Right)); }
}

    На следующем шаге мы приведем алгоритм вывода бинарного дерева.




Предыдущий шаг Содержание Следующий шаг