Алгоритмизации
Скачать 1.15 Mb.
|
ЗАДАНИЕ 9. Деревья и польская записьВариант1.Созданиеиобработкаструктуртипа«дерево»Разработать проект для обработки дерева поиска, каждый элемент которого содержит целочисленный ключ и строку текста, содержащую, например, ФИО и номер паспорта (ввод исходной информации рекомендуется записать в файл). В программе должны быть реализованы следующие возможности: создание дерева; добавление новой записи; поиск информации по заданному ключу; удаление информации с заданным ключом; вывод информации; решение индивидуального задания; освобождение памяти при выходе из программы. Поменять местами информацию, содержащую максимальный и минимальный ключи. Подсчитать число листьев в дереве. Удалить из дерева ветвь с вершиной, имеющей заданный ключ. Определить глубину дерева. Определить число узлов на каждом уровне дерева. Удалить из левой ветви дерева узел с максимальным значением ключа и все связанные с ним узлы. Определить количество узлов с четными ключами. Определить число листьев на каждом уровне дерева. Определить число узлов в дереве, имеющих только одного потомка. Определить количество узлов правой ветви дерева. Определить количество записей в дереве, начинающихся с введенной с клавиатуры буквы. Найти среднее значение всех ключей дерева и найти строку, имеющую ближайший к этому значению ключ. Определить количество узлов левой ветви дерева. Определить число узлов в дереве, имеющих двух потомков. Найти запись с ключом, ближайшим к среднему значению между максимальным и минимальным значениями ключей. Вариант2.СозданиеииспользованиепольскойзаписиНаписать программу формирования обратной польской записи и расчета полученного выражения. Предусмотреть возможности того, что идентификаторы могут состоять более чем из одного символа и могут быть использованы операции % и возведение в степень. Результат работы программы проверить на конкретном примере (табл. 15.1). Например, если ввести выражение (a + b)*(c– d)/e и значения переменныха= 3, b= 5, c= 6, d= 9, е= 7, должны получиться следующие результаты: Постфикснаяформаab+cd– *e/ Результатрасчета –3.42857 Таблица 15.1
|