Структуры данных: бинарное упорядоченное несбалансированное дерево
Состав работы
|
|
|
|
Необходимые программы
Работа представляет собой 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 руб.
Другие работы
Проект реконструкции ремонтной мастерской СПК «Красный Яр» Ижморского района с разработкой приспособления для упрочнения деталей вращения
Рики-Тики-Та
: 13 октября 2017
Содержание
Введение………… 6
1 Обоснование проекта………. 7
1.1 Краткая характеристика предприятия...….. 7
1.2 Анализ основных технико-экономических показателей хозяйства….… 8
1.3 Характеристика ремонтной базы.… 15
1.4 Выводы по характеристике исходного предприятия….……………….. 21
2 Технологическая часть……... 24
2.1 Обоснование и расчет параметров проектируемой мастерской ……...... 25
2.2 Проектирование реконструкции мастерской. 38
2.3 Проектирование технологических процессов. 47
2.4 Обоснование источн
825 руб.
Контрольные работы по гидростатике и гидродинамике ИжГТУ К.р. 1 Задача 2 Вариант 17
Z24
: 3 декабря 2025
Определить избыточное давление воды в трубе по показаниям батарейного ртутного манометра. Отметки уровней от оси трубы z1, z2, z3, z4. Плотность воды – 1000 кг/м³, ртути 13600 кг/м³.
120 руб.
Деталировка-Сборочный чертеж-Гидравлическая часть бурового насоса УНБТ-950А: Отбойник, Сердечник металлический, Уплотнение, Пробка, Шток, Шайба, Гайка-Чертежи-Графическая часть-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная
as.nakonechnyy.92@mail.ru
: 23 июня 2016
Деталировка-Сборочный чертеж-Гидравлическая часть бурового насоса УНБТ-950А: Отбойник, Сердечник металлический, Уплотнение, Пробка, Шток, Шайба, Гайка-Чертежи-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
581 руб.
Резьбовые соединения. Графическая работа 12 - Вариант 15 а, 15 б, 15 в, 15 г
.Инженер.
: 20 ноября 2025
Б.Г. Миронов, Р.С. Миронова, Д.А. Пяткина, А.А. Пузиков. Сборник заданий по инженерной графике с примерами выполнения чертежей на компьютере. Резьбовые соединения. Графическая работа 12
15 а - Начертить соединение двух деталей болтом. Размеры болта подобрать по ГОСТу.
15 б - Начертить соединение двух стальных деталей шпилькой. Размеры шпильки подобрать по ГОСТу.
15 в - Начертить деталь А, ввернутой в деталь Б.
15 г - Начертить муфту прямую с ввернутой в нее справа трубой. Размеры трубы под
300 руб.