На этом шаге мы рассмотрим различные способы обхода бинарных деревьев.
Для того, чтобы просмотреть информационные поля всех вершин построенного дерева, необходимо совершить обход дерева или, другими словами, посетить каждую его вершину.
В случае, когда бинарное дерево пусто, оно обходится без выполнения каких либо действий. В противном случае существует несколько алгоритмов обхода:
(1) левосторонний (нисходящий) обход (КЛП):
Например, применяя алгоритм левостороннего обхода к деревьям
посетим вершины в следующем порядке:
I. A, B, D, M, N, E, C; II. B, D, C, E, R;
(2) концевой (восходящий) обход (ЛПК):
При таком алгоритме обход вершин бинарных деревьев I и II происходит в следующем порядке:
I. M, N, D, E, B, C, A; II. D, E, R, C, B.
(3) обратный (смешанный) обход (ЛКП):
Применяя этот алгоритм к бинарным деревьям I и II, обойдём вершины в следующем порядке:
I. M, D, N, B, E, A, C; II. D, B, E, C, R.
На следующем шаге мы рассмотрим представления бинарных деревьев поиска на языке Haskell.