- Главная
- Информатика
- Рекурсивные алгоритмы для деревьев (иллюстрации)

Содержание
Слайд 2class TreeNode { //Узел дерева
…
//Вывод списка объектов с сортировкой по ключам
public
class TreeNode { //Узел дерева
…
//Вывод списка объектов с сортировкой по ключам
public

void viewLeftRight (){
//Используется процедура обхода (просмотра) двоичного
// дерева слева направо (рекурсивный алгоритм)
//this — указатель на корень дерева (поддерева);
//обойти левое поддерево
if (left != null)
left.viewLeftRight();
//вывести информацию корневого узла дерева (поддерева)
System.out.println(inf);
//обойти правое поддерево
if (right != null)
right.viewLeftRight();
}
/*Вывод (обработка корневого узла) осуществляется только
после возврата из метода viewLeftRight(), запущенного для
левого поддерева - left.viewLeftRight(); - обработка 2-1-3*/
//Используется процедура обхода (просмотра) двоичного
// дерева слева направо (рекурсивный алгоритм)
//this — указатель на корень дерева (поддерева);
//обойти левое поддерево
if (left != null)
left.viewLeftRight();
//вывести информацию корневого узла дерева (поддерева)
System.out.println(inf);
//обойти правое поддерево
if (right != null)
right.viewLeftRight();
}
/*Вывод (обработка корневого узла) осуществляется только
после возврата из метода viewLeftRight(), запущенного для
левого поддерева - left.viewLeftRight(); - обработка 2-1-3*/
Слайд 3null
null
1
3
4
5
6
7
8
10
13
14
null
Терминал:
null
null
null
null
null
null
null
null
Обработка корня дерева (поддерева) - вывод данных узла
null
null
1
3
4
5
6
7
8
10
13
14
null
Терминал:
null
null
null
null
null
null
null
null
Обработка корня дерева (поддерева) - вывод данных узла

Слайд 4…
//Подсчет количества вершин на уровне level
public int nodeCount (int level){
//this
…
//Подсчет количества вершин на уровне level
public int nodeCount (int level){
//this

— указатель на корень дерева (поддерева);
if (level == 1) return 1;
return ((left != null) ? left.nodeCount(level-1) : 0) +
((right != null) ? right.nodeCount(level-1) : 0);
}
} //TreeNode
if (level == 1) return 1;
return ((left != null) ? left.nodeCount(level-1) : 0) +
((right != null) ? right.nodeCount(level-1) : 0);
}
} //TreeNode
/* При каждом рекурсивном вызове параметр level метода nodeCount() уменьшается на 1.
Если при очередном вызове метода nodeCount() параметр level еще не равен 1, а указатель на левое (правое) поддерево уже равен null, значит узла в соответствующем поддереве на изначально заданном уровне нет (возврат нуля). Если удалось дойти до значения level равно 1, то узел есть (возврат единицы)*/
- Предыдущая
през Л2Следующая -
Изготовление обувной полки
Перспективы развития интернет-технологий
Контакт-центры, использующие цифровые технологии на операционном уровне, через пять-десять лет
Шаблон стендового плаката
02_HSE_Presentation_Shablon_1
Применение программы Virtualbox на практических занятиях по информатике
Презентация на тему Информационные технологии
Создание форм и отчетов
Создание программы для дополнения функций эмуляторов на платформе ОС Android
В разработке. Столовки МГУ
Мультимедійні програвачі. Копіювання об'єктів мультимедіа на комп'ютер
Моделирование. Задачи на оптимизацию
Анализ логических схем. Алгебра логики
Многопоточность
Коммуникационные технологии
Проект VK AIR
Защита персональных данных
Специфика интервью. Опра Уинфри
Информационно-технологическая архитектура ИС
DFD
Презентация на тему Алгоритмы и исполнители (9 класс)
Системы рекомендаций
AVG AntiVirus
Машинное зрение
Начало 3 лабораторной. Часть 1: Рисование
Волк и семеро козлят. Правила безопасного поведения в Интернете
Основы системного подхода
Многомерные базы данных
Открытое внеклассное мероприятие Компьютер в торговле