- •1. Методические указания по выполнению курсовой работы
- •2. Перечень тем курсовых работ
- •Тема 1. Диагональная схема хранения разреженных матриц:
- •Тема 2. Профильная схема хранения разреженных матриц:
- •Тема 3. Схема Кнута хранения разреженных матриц:
- •Тема 4. Кольцевая крм-схема хранения разреженных матриц:
- •Тема 5: Модификация Ларкума схемы Кнута для хранения разреженных симметричных матриц с ненулевыми диагональными элементами:
- •Тема 6. Разреженные матрицы
- •Тема 7. Операции над разреженными матрицами (1).
- •Тема 8. Операции над разреженными матрицами (2)
- •Тема 9. Алгоритмы преобразования разреженных матриц a(nm), хранящихся в разреженном строчном формате
- •Тема 10. Алгоритмы преобразования разреженных матриц, хранящихся в форме 3 объектов:
- •Тема11. Рекурсия.
- •Тема 12: Древовидные структуры (1)
- •Тема 13: Древовидные структуры (2)
- •Тема 14: Древовидные структуры (3)
- •Тема 15: Основные операции с двоичными деревьями (1)
- •Тема 16: Основные операции с двоичными деревьями (1)
- •Тема 17: Сбалансированные деревья (1).
- •Тема 18. В - деревья
- •Тема 19: Графы
- •Тема 20: Алгоритмы на графах (1)
- •Тема 21: Алгоритмы на графах (2)
- •Тема 22. Оптимизационные алгоритмы на графах (1)
- •Тема 23. Оптимизационные алгоритмы на графах (2)
- •Тема 24. Оптимизационные алгоритмы на графах (3)
- •Тема 25. Оптимальные деревья поиска (1).
- •Тема 26. Оптимальные деревья поиска (2).
- •Тема 27. Bmp – файлы (1)
- •Тема 28. Bmp – файлы (2)
- •Библиографический список
- •Содержание
- •Структуры и алгоритмы обработки данных Методические указания по выполнению курсовой работы
- •650049, Красноярск, пр.Мира 82.
Тема 16: Основные операции с двоичными деревьями (1)
1. Построить бинарное дерево следующего выражения (6*3) + (8* 7)*• (6*5) и вывести его на экран. Написать процедуры постфиксного, инфиксного и префиксного обхода дерева и вывести соответствующие выражения.
2. Построить бинарное дерево следующего выражения ((((5*2) +3)*• 4) +5)*6 и вывести его на экран. Написать процедуры постфиксного, инфиксного и префиксного обхода дерева и вывести соответствующие выражения.
3. Построить бинарное дерево следующего выражения 9+(8* (7+(6* (5+(4*3))))) и вывести его на экран. Написать процедуры постфиксного, инфиксного и префиксного обхода дерева и вывести соответствующие выражения.
4. Построить двоичное дерево из целых чисел и написать следующие процедуры:
вывод элементов дерева снизу вверх;
все отрицательные элементы дерева заменить нулем.
5. Построить двоичное дерево из букв латинского алфавита и написать следующие процедуры:
вывод элементов дерева слева направо;
удаление из дерева гласных букв.
6. Написать программу-словарь, позволяющую пользователю проверять правильность написания слов. Реализация программы должна обеспечить представление словаря в виде дерева двоичного поиска, словарь хранится в виде текстового файла. При каждом выполнении программы словарь может быть модифицирован, если пользователь решил добавить в него слова. Программа должна обеспечивать диалоговое взаимодействие с пользователем.
7. Создать управляющую программу с эффектным интерфейсом.
8. Подготовить контрольные примеры, демонстрирующие работу созданного программного комплекса.
Тема 17: Сбалансированные деревья (1).
1. Включение элементов в дерево с сохранением сбалансированности (с иллюстрацией на экране).
2. Исключение элементов из дерева с сохранением сбалансированности (с иллюстрацией на экране).
3.. В файловой системе каталог файлов организован в виде сбалансированного бинарного дерева. Каждый узел обозначает файл, содержащий имя и атрибуты файла, в том числе и дату последнего обращения к файлу. Написать программу, которая обходит дерево и удаляет все файлы, последнее обращение к которым происходило до определенной даты, при этом сбалансированность бинарного дерева сохраняется.
4. Сравните сложность алгоритмов включения и удаления узлов для бинарных деревьев и АВЛ-сбалансированных деревьев.
5. Написать программу, которая выводит на экран сбалансированное дерево с 12 узлами, имеющее максимальную высоту среди всех сбалансированных деревьев с 12 узлами. В какой последовательности нужно включать узлы, чтобы получить такое дерево?
6. Написать программу, которая определяет последовательность из п чисел, для которой формируется идеально сбалансированное дерево двоичного поиска. Последовательность чисел и дерево поиска вывести на экран монитора.
7. Написать процедуру построения сбалансированного дерева, в узлах которого расположены целые числа в диапазоне 1..20. Удалить из дерева все четные числа с сохранением сбалансированности дерева?
8. Построить сбалансированное дерево из целых чисел и вывести его на экран снизу вверх. Написать процедуру удаления элементов из дерева с сохранением сбалансированности дерева. Найти дерево и короткую последовательность удалений, вызывающую появление всех четырех ситуаций балансировки хотя бы по одному разу.
9. Создать управляющую программу с эффектным интерфейсом;
10. Подготовить контрольный пример, демонстрирующий работу созданного программного комплекса.
