Г. Просмотр снизу-вверх

 
 

 
 

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

Результаты просмотра:

Алгоритм «Слева направо» 1, 3, 7, 10, 70, 96, 98
Алгоритм «Справа налево» 98, 96, 70, 10, 7, 3, 1
Алгоритм «Сверху вниз» 10, 3, 1, 7, 96, 70, 98

Из приведенной таблицы видно, что, просто изменяя порядок просмотра дерева (слева-направо и справа-налево), можно получить отсортированные по возрастанию или по убыванию числа.

Пример 2. Пусть в узлах дерева расположены элементы арифметического выражения:

 
 

Результаты просмотра:

«Слева направо» 8 * 7 + 9 – 4 инфиксная форма записи выражения
«Сверху вниз» + * 8 7 – 9 4 префиксная форма записи выражения
«Снизу вверх» 8 7 * 9 4 – + постфиксная форма записи выражения

 
 

A5. Поиск элемента в двоичном упорядоченном дереве

Вывод. Тексты приведенных алгоритмов очень компактны и просты в понимании.

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

Для закрепления материала предлагается решить следующую задачу:

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: