Целью данной курсовой работой является разработка программного комплекса, позволяющего проиллюстрировать работу с иерархическими структурами данных.
Для выполнения данной задачи был использован один из универсальных языков программирования - язык С++. Выбор данного языка обусловлен тем, что он широко используется для создания программ самого разного назначения: начиная от создания операционных систем и заканчивая созданием видеоигр. Этот язык программирования позволяет программисту сделать практически все. Кроме того, C++ - это "чистый" язык, язык в котором нет "заточенности" на ту или иную библиотеку или стиль программирования. С++, в отличие от многих, не привязан ни к чему. Это дает программисту на С++ поразительное количество возможностей и вариантов запрограммировать даже самое простое действие. Кроме того, С++ поддерживает мультипарадигменное программирование, то есть возможность пользоваться при написании программ многими стилями программирования.
Кроме того, в процессе написания курсовой работы потребуется знание о такой иерархической структуре данных как двоичное дерево, а также способов организации этого типа данных при помощи языка С++.
Задание на курсовую работу
Построить двоичное дерево поиска из целых чисел. Удалить из него элементы, встречающиеся несколько раз. Результат вывести на экран. Определить глубину дерева до и после удаления.
Требования, предъявляемые к программному комплексу:
1) Программный комплекс должен состоять из нескольких функций, каждая из которых призвана решать свою специфическую задачу. Например, функция построения дерева, функция вывода на экран построенного дерева и т.д.
2) После запуска программного комплекса, на экране должно быть выведено задание, для решения которого и разработан программный комплекс.
3) Работа программного комплекса должна быть организована в диалоговом режиме с пользователем. Например, пользователь по запросу вводит количество элементов исходного дерева, после решения задачи на экран выводится результат со всеми необходимыми пояснениями. Должно быть предусмотрено два способа ввода информации в дерево – автоматическая генерация случайных данных, ввод данных самим пользователем с клавиатуры.
4) После работы динамическая структура должна быть удалена.
5) В программном комплексе должны осуществляться все возможные проверки, в частности: на корректность исходных данных.