Структуры данных: бинарное упорядоченное несбалансированное дерево
Состав работы
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
План работы:
1) Постановка задачи
2) Описание программы
3) Код программы на языках Pascal и С++
1. Постановка задачи
Требуется написать программу, реализующую основные операции работы с деревом. Причём, обязательным условием является использование структуры данных класс для описания дерева и методов работы с ним.
2. Описание программы
Описание ведётся для кода на Pascalе, отличия для С++ будут указаны ниже.
В программе основным элементом является класс TTree. Его методы – это основные процедуры работы с деревом:
Create – конструктор класса – процедура, создающая дерево,
Add – метод добавления элемента в дерево,
Del – метод удаления элемента из дерева,
View – метод вывода элементов дерева на экран,
Exist – метод проверки существования элемента с некоторым ключом, по сути поиск элемента,
Destroy – деструктор класса – процедура, удаляющая дерево.
Рассмотрим алгоритмы работы процедур.
Create – создание дерева. Присваивает полю Root (корень) значение nil – указателя, который никуда не указывает.
Add – добавление элемента в дерево. Для построения дерева используем следующий алгоритм. Первый элемент помещаем в корень (инициализируем дерево). Далее поступаем следующим образом. Если добавляемый в дерево элемент имеет ключ больший, чем ключ узла, то, если узел не лист, обходим его справа. Если добавляемый элемент имеет ключ не больший чем ключ узла, то, если узел не лист, обходим его слева. Если дошли до листа, то добавляем элемент соответственно справа или слева.
Del – удаление элемента из дерева.
Удаление узла довольно просто если он является листом или имеет одного потомка. Например, если требуется удалить узел с ключом М надо просто заменить правую ссылку узла К на указатель на L. Трудность заключается в удалении узла с двумя потомками, поскольку мы не можем указать одним указателем на два направления.
1) Постановка задачи
2) Описание программы
3) Код программы на языках Pascal и С++
1. Постановка задачи
Требуется написать программу, реализующую основные операции работы с деревом. Причём, обязательным условием является использование структуры данных класс для описания дерева и методов работы с ним.
2. Описание программы
Описание ведётся для кода на Pascalе, отличия для С++ будут указаны ниже.
В программе основным элементом является класс TTree. Его методы – это основные процедуры работы с деревом:
Create – конструктор класса – процедура, создающая дерево,
Add – метод добавления элемента в дерево,
Del – метод удаления элемента из дерева,
View – метод вывода элементов дерева на экран,
Exist – метод проверки существования элемента с некоторым ключом, по сути поиск элемента,
Destroy – деструктор класса – процедура, удаляющая дерево.
Рассмотрим алгоритмы работы процедур.
Create – создание дерева. Присваивает полю Root (корень) значение nil – указателя, который никуда не указывает.
Add – добавление элемента в дерево. Для построения дерева используем следующий алгоритм. Первый элемент помещаем в корень (инициализируем дерево). Далее поступаем следующим образом. Если добавляемый в дерево элемент имеет ключ больший, чем ключ узла, то, если узел не лист, обходим его справа. Если добавляемый элемент имеет ключ не больший чем ключ узла, то, если узел не лист, обходим его слева. Если дошли до листа, то добавляем элемент соответственно справа или слева.
Del – удаление элемента из дерева.
Удаление узла довольно просто если он является листом или имеет одного потомка. Например, если требуется удалить узел с ключом М надо просто заменить правую ссылку узла К на указатель на L. Трудность заключается в удалении узла с двумя потомками, поскольку мы не можем указать одним указателем на два направления.
Похожие материалы
400 руб.
400 руб.
400 руб.
Структуры данных и алгоритмы
alfFRED
: 6 октября 2013
Оглавление
1. Условие задачи
2. Анализ задачи
3. Выбор и обоснование форм представления данных
4. Алгоритм
5. Текст программы на языке Pascal
6. Выбор и обоснование набора тестов
7. Анализ результатов
Приложение
1. Условие задачи
Имеется некоторое конечное число городов, которые связаны транспортной сетью, состоящей из авиа, железнодорожных, автомобильных и водных рейсов произвольного направления и включающих произвольное число городов.
Стоимость проезда различна по классам. Р
10 руб.
Основные структуры данных
Aronitue9
: 30 мая 2012
Содержание
Введение…………………………………………………………………………3
1. Теоретическая часть
1.1. Основные структуры данных…………………………………………..5
1.2. Линейные структуры (списки данных, векторы данных)…………....5
1.3. Табличные структуры (таблицы данных, матрицы данных)………..5
1.4. Иерархические структуры данных…………………………………….7
1.5. Упорядочение структур данных……………………………………….8
1.6. Заключение……………………………………………………………...10
2. Практическая часть
2.1. Общая характеристика задачи…………………………………….......11
2.2. Описание алгоритма
50 руб.
Динамические структуры данных
1231233
: 24 апреля 2010
Разработать программу для создания и работы с двусвязным списком, состоящим из структур. Для работы со списком создать меню со следующими пунктами:
1. Создание списка.
2. Просмотр списка.
3. Добавление в конец списка новой структуры.
4. Корректировка списка.
5. Выход.
Пункт “корректировка списка” выполнить согласно своему варианту задания.
Вариант № 3: Структура содержит название книги, автора, год издания. Удалить издания с годом меньше заданного.
СОДЕРЖАНИЕ
Введение. 4
1. Постановка комплекса
23 руб.
Динамические структуры данных: стеки
Slolka
: 2 октября 2013
По определению, элементы извлекаются из стека в порядке, обратном их добавлению в эту структуру, т.е. действует принцип "последний пришёл — первый ушёл".
Наиболее наглядным примером организации стека служит детская пирамидка, где добавление и снятие колец осуществляется как раз согласно определению стека.
Стек можно организовать на базе любой структуры данных, где возможно хранение нескольких однотипных элементов и где можно реализовать определение стека: линейный массив, типизированный файл,
10 руб.
Презентация - Алгоритмы и структуры данных
alfFRED
: 24 ноября 2012
Содержание:
Основные алгоритмы и структуры данных.
Поиск.
Сортировка.
Списки.
Деревья.
Таблицы.
10 руб.
Другие работы
Проект швейной фабрики в городе Горки
elementpio
: 11 октября 2012
СОДЕРЖАНИЕ
1 Задание …………………………………………………….. 3
2 Расчет площадей помещений АБП………………………. . 4
2.1 Расчет площадей гардеробно-душевых блоков……… 4
2.2 Площадь остальных помещений АБП……………….. 4
2.3 Расчет площадей подсобных помещений АБП……… 6
2.4 Расчет линейных размеров АБП……………………… 7
3 Технико-экономические показатели ген.плана…………... 8
4 Краткие сведения о строительных конструкциях здания...9
Литература…………………………………………………...14
50 руб.
Организация производства в агро-промышленном комплексе
evelin
: 26 июля 2015
Анализ показателей и методов оценки эффективности комплексной механизации производства сельскохозяйственной организации производства
Система машин для возделывания и уборки культуры
Направления повышения эффективности комплексной механизации производства сельскохозяйственной продукции
Краткая характеристика хозяйства и выпускаемой им продукции
Характеристика организационно-правовой формы предприятия
Анализ производственной структуры предприятия, описание производственных связей и уровень их спе
30 руб.
Гидравлика Задача 1.180 Вариант 5
Z24
: 1 декабря 2025
Определить плотность и вязкость керосина для хранения на нефтебазе при критических температурах +32 и -41 ºС, если βt=(0,000101+0,00001·5)=0,000151 1/град, ν20=0,0328·10-4 м²/c, ν40=0,0250·10-4 м²/c, ρ20=780 кг/м³.
150 руб.
Калибр-пробка 120Н7 чертеж
Laguz
: 29 марта 2025
Чертеж Калибр-пробки диаметром 120 Н7
ПР=120,008
НЕ=20,043
чертеж в компасе 16 + дополнительно сохранён в джпг
Файлы компаса можно просматривать и сохранять в нужный формат бесплатной программой КОМПАС-3D Viewer.
120 руб.