Петрозаводский государственный университет
Математический факультет

Кафедра информатики и математического обеспечения

Отчет о ходе выполнения курсовой работы

Разработка и анализ итераторов деревьев на языке Java

Выполнил: студент 3 курса
Терехов А.Ю

Научный руководитель:
к.ф-м.н., доцент
Соколов А.В.

Оглавление

1. Основные определения
2. Цели и актуальность работы
3. Пример апплета на языке Java
4. Использованная литература

Основные определения

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

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

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

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

Обход в глубину – такой метод обхода, при котором узлы дерева обходятся «подряд», т.е. если обход начат, то он продолжается до тех пор, пока все поддерево не будет обойдено.

Цели и актуальность работы

Язык программирования Java служит для создания программ для исполнения на удаленных компьютерах в сетевой среде. Java работает намного быстрее таких языков сценариев, как JavaScript, но примерно в 20 раз медленнее кода языка С (из-за использования интерпретатора на этапе выполнения). Как и в любой области программирования часто требуется применение таких структур данных, как деревья. В связи с этим требуется повысить эффективность алгоритмов итераторов деревьев либо установить преимущества некоторых для данного языка программирования и выполнения в сетевой среде.

Пример апплета на языке Java:
Построение бинарного дерева и поиск узла.

Поиск узла бинарного дерева является внешним итератором бинарного дерева. В данном примере процедура поиска является методом описанного класса узла дерева.

Исходный код
Апплет

Использованная литература

1. Питер Вейнер. Языки программирования Java и JavaScript, 1998
2. Кубенский А.А. Создание и обработка структур данных, 2001