Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практика_2012.rtf
Скачиваний:
9
Добавлен:
27.09.2019
Размер:
679.07 Кб
Скачать

Задание

Задание 1

1) Создать дерево поиска, используя рекурсивную процедуру добавления элемента в дерево.

2) Создать дерево поиска, используя нерекурсивную процедуру добавления элемента в дерево.

3) Создать идеально сбалансированное дерево с n вершинами, значения которых читаются из файла.

Задание 2

1) Описать рекурсивную процедуру обхода дерева сверху вниз (префиксного обхода).

2) Описать рекурсивную процедуру обхода дерева слева направо (инфиксного обхода).

3) Описать рекурсивную процедуру обхода дерева снизу вверх

(постфиксного обхода).

4) Описать рекурсивную процедуру обхода дерева справа налево (см. [10]) и вывода значения узла дерева на экран с выделением каждого уровня с помощью соответствующего отступа (корень дерева

находится на нулевом уровне).

5) Описать нерекурсивную процедуру обхода дерева сверху вниз.

6) Описать нерекурсивную процедуру обхода дерева слева направо.

7) Описать нерекурсивную процедуру обхода дерева снизу вверх.

Задание 3

Описать рекурсивную процедуру или функцию решения задачи (значения узлов дерева - целые числа).

1) Подсчитать количество узлов дерева с заданным значением.

2) Подсчитать количество узлов дерева с нулевыми значениями.

3) Подсчитать количество узлов дерева с положительными значениями.

4) Подсчитать количество узлов дерева с отрицательными значениями.

5) Подсчитать количество узлов дерева с четными значениями.

6) Подсчитать количество узлов дерева с нечетными значениями.

7) Найти сумму значений всех узлов дерева.

8) Найти сумму положительных значений в узлах дерева.

9) Найти сумму отрицательных значений в узлах дерева.

10) Найти сумму четных значений в узлах дерева.

11) Найти сумму нечетных значений в узлах дерева.

12) Найти произведение значений всех узлов дерева.

13) Найти произведение положительных значений в узлах дерева. 14) Найти произведение отрицательных значений в узлах дерева. 15) Найти произведение четных значений в узлах дерева. 16) Найти произведение нечетных значений в узлах дерева. 17) Найти минимальное значение в узлах непустого дерева. 18) Найти максимальное значение в узлах непустого дерева. 19) Вычислить среднее арифметическое значений всех узлов дерева. 20) Вычислить среднее арифметическое положительных значений в

узлах дерева.

21) Вычислить среднее арифметическое отрицательных значений в

узлах дерева.

22) Подсчитать количество листьев дерева.

23) Подсчитать количество внутренних узлов дерева.

24) Подсчитать количество узлов дерева, не имеющих левого потомка. 25) Подсчитать количество узлов дерева, не имеющих правого потомка. 26) Выдать значения из всех листьев дерева.

25) Выдать значения внутренних узлов дерева.

Задание 4

Описать нерекурсивную процедуру или функцию решения задачи (значения узлов дерева - целые числа).

1) Получить значение самого левого листа дерева.

2) Получить значение самого правого листа дерева.

3) Найти минимальное значение в узлах дерева поиска.

4) Найти максимальное значение в узлах дерева поиска.

5) Подсчитать число узлов дерева поиска с заданным значением.

6) Проверить, имеется ли в дереве поиска узел с заданным значением.

7) Включить узел с заданным значением в дерево поиска, если узел с таким значением в нем отсутствует.

8) Определить адрес узла дерева с заданным значением.

9) Выдать, используя очередь, значения из всех узлов дерева по уровням: сначала - из корня дерева, затем (слева направо) - из вершин,

дочерних по отношению к корню, затем (также слева направо) - из вершин, дочерних по отношению к этим вершинам, и т.д. ([7]). 10) Выдать значения узлов заданного уровня дерева (см. 9)). 11) Решить одну из задач 1) - 29) задания 3, используя стек или очередь.

ЛИТЕРАТУРА

1 Амелина Н.И. Задачи по программированию. / Н.И. Амелина,

Я.М. Демяненко, Е.Н. Лебединская, Л.Г. Пасечный, И.Г. Спивак, А.Б. Усов. -

М.: Вузовская книга, 2000. - 104 с. - ISBN 5-89522-109-2.

2 Вирт Н. Алгоритмы + структуры данных = программы. - М.: 1989. -

406 с.

3 Вирт Н. Алгоритмы и структуры данных. - М.: Мир, 1989. - 360 с. - ISBN 5-03-001045-9.

4 Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0 - М.: «Диалог - МИФИ», 1996. - 288 с. - ISBN 5-86404-029-0. 5 Минакова Н.И. Методы программирования. Учебное пособие / Н.И.Минакова, Е.С. Невская, Г.А. Угольницкий, А.А. Чекулаева,

М.И. Чердынцева. - М.: Вузовская книга, 2000. -280 с. -ISBN 5-89522-038-X.

6 Невская Е.С., Чекулаева А.А., Чердынцева М.И. Искусство программирования. - М.: Вузовская книга, 2002. - 240 с. - ISBN 5-9502-0003-9.

7 Пильщиков В.Н. Сборник упражнений по языку Паскаль. - М.:. Наука, 1989. - 160 с. - ISBN 5-02-013995-5.

8 Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. - М.: «Нолидж», 1997. - 616 с. ISBN 5-89251-012-3.

9 Абрамян М.Э. Указатели и объекты в Турбо-Паскале. Методические указания для студентов механико-математического факультета. Части 1, 2. - Ростов-на-Дону, УПЛ РГУ, 1996.

10 Амелина Н.И., Чердынцева М.И. Структуры данных. Деревья. Методические указания по курсу «Алгоритмические языки и методы

трансляции» для студентов механико-математического факультета дневного и вечернего отделения. - Ростов-на-Дону, УПЛ РГУ, 1998.

11 Чекулаева А.А., Спивак И.Г. Динамические структуры данных. Методические указания для студентов вечернего отделения механикоматематического факультета. - Ростов-на-Дону, УПЛ РГУ, 1998.