На этом шаге мы рассмотрим алгоритм обхода бинарного дерева от листьев к корню.
Существует алгорим концевого обхода дерева, который заключается в следующем:
При таком алгоритме обход вершин бинарных деревьев I, II
Рис.1. Примеры бинарных деревьев
происходит в следующем порядке:
M N D E B C A D E R C B
Запишем алгоритм в виде рекурсивной функции:
void ObhodEnd (node **w) // Концевой обход дерева. // *w - указатель на корень дерева. { if (*w!=NULL) { ObhodEnd (&((**w).Left)); ObhodEnd (&((**w).Right)); cout<<(**w).Key<<" ";} }
На следующем шаге мы закончим рассматривать алгоритмы обхода дерева.