Составители:
Рубрика:
4.2. Реализация алгоритмов работы с бинарными деревьями 45
Обход в прямом порядке
• Попасть в корень.
• Пройти левое поддерево в прямом порядке.
• Пройти правое поддерево в прямом порядке.
Обход в обратном порядке
• Пройти левое поддерево в обратном порядке.
• Попасть в корень.
• Пройти правое поддерево в обратном порядке.
Обход в концевом порядке
• Пройти левое поддерево в концевом порядке.
• Пройти правое поддерево в концевом порядке.
• Попасть в корень.
Обходы бинарного дерева, приведенного на рисунке 4.1, будут сле-
дующими:
1) обход в прямом порядке: ABDCEGFHJ;
2) обход в обратном порядке: DBAGECHFJ;
3) обход в концевом порядке: DBGEHJFCA.
4.2. Реализация алгоритмов работы с бинарными
деревьями
Рекурсивная реализация обхода бинарного дерева
в обратном порядке
void btree1(node *t) // t - указатель на корень дерева
{
if(t! = NULL)
{
btree1 (t->llink); // обход левого поддерева
cout << t->info; // вывод информации
4.2. Реализация алгоритмов работы с бинарными деревьями 45 Обход в прямом порядке • Попасть в корень. • Пройти левое поддерево в прямом порядке. • Пройти правое поддерево в прямом порядке. Обход в обратном порядке • Пройти левое поддерево в обратном порядке. • Попасть в корень. • Пройти правое поддерево в обратном порядке. Обход в концевом порядке • Пройти левое поддерево в концевом порядке. • Пройти правое поддерево в концевом порядке. • Попасть в корень. Обходы бинарного дерева, приведенного на рисунке 4.1, будут сле- дующими: 1) обход в прямом порядке: ABDCEGFHJ; 2) обход в обратном порядке: DBAGECHFJ; 3) обход в концевом порядке: DBGEHJFCA. 4.2. Реализация алгоритмов работы с бинарными деревьями Рекурсивная реализация обхода бинарного дерева в обратном порядке void btree1(node *t) // t - указатель на корень дерева { if(t! = NULL) { btree1 (t->llink); // обход левого поддерева cout << t->info; // вывод информации
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »