Структуры данных: бинарное упорядоченное несбалансированное дерево
Состав работы
|
|
|
|
Работа представляет собой 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 руб.
Другие работы
СИБГУТИ Контрольная Вариант 25
Максим102
: 22 августа 2017
СИБГУТИ Контрольная
Вариант 25
No1 Доказать равенства, используя свойства операций над множествами и определения операций. Проиллюстрировать при помощи диаграмм Эйлера-Венна. а) A\(BC) = (A\C)\(B\C) б) AB, CD AC=(BC) (AD).
No2 Даны два конечных множества: А={a,b,c}, B={1,2,3,4}; бинарные отношения P1 AB, P2 B2. Изобразить P1, P2 графически. Найти P = (P2P1)–1. Выписать области определения и области значений всех трех отношений: P1, P2, Р. Построить матрицу [P2], проверить с ее помощью,
350 руб.
Основные принципы работы базы данных MS Access: составление сводки о выполнении сроков проведения работ на объекте
Elfa254
: 9 октября 2013
Задание на курсовую работу
Цель работы: Задача составления сводки о выполнении сроков проведения работ на объекте.
База данных должна содержать следующие сведения: код объекта, наименование объекта, адрес объекта, код работы, наименование работы, норматив на выполнение работы. фактические сроки начала и окончания работ на объекте.
Запросы к базе данных должны обеспечивать получение данных об отставании (опережении) выполнения работы на каждом объекте.
Содержание
Введение
I. Теоретический в
10 руб.
Лабораторная работа №1 Вариант 10 22год
Андрей526
: 20 ноября 2022
10 Массив А[15] сформировать датчиком случайных чисел. Найти минимальный элемент и сумму отрицательных элементов. Заменить в массиве А минимальный элемент найденной суммой.
300 руб.
Теория построения инфокоммуникационных сетей и систем. Курсовая работа. Вариант №11, 2020 год
Магистр
: 26 февраля 2020
Задание.
Курсовая работа по курсу «Теория построения инфокоммуникационных сетей и систем» представляет собой набор из трех теоретические вопросов по учебной дисциплине.
Курсовая работа содержит 25 вариантов, которые сведены в таблицу. Из этих вариантов вы должны выбрать свой и ответить на три вопроса.
Номер варианта соответствует последней цифре Вашего пароля.
При выборе вопроса следует иметь в виду, что: первая цифра означает – номер главы; вторая цифра – номер вопроса в данной главе.
№
110 руб.