Программист [C++]. Необходима программа для взаимодействия с классом бинарного дерева Red-Black.

Бюджет 50$ / 3000
руб
в месяц
Создан: 4 года назад
На модерации
Описание
Программа необходима в учебных целях.
"Необходимо разработать Windows приложение (если Вы не работаете с Windows Forms, достаточно будет консольного приложения), которое будет демонстрировать взаимодействие с классом Red-black дерево. Необходимый функционал: добавление узла, удаление узла, обратный обход. При реализации класса дерева учесть, что узел дерева также должен быть отдельным классом и содержать минимум один метод, позволяющий определить свое местоположение в дереве."
Детали:
- и дерево, и узел – отдельные классы, каждый в своей библиотеке, у них все атрибуты – приватные, обращение к ним только через публичные функции (get_data(), set data(int i) ...) (у дерева должны быть функции поставить корень, найти корень, как минимум). Могут быть узлы с одинаковыми цифрами.
- Необходима балансировка. Перемещение, перекрашивание и прочее. (после или во время добавления)
-НЕЛЬЗЯ пользоваться указателями на родителей, такого поля вообще не должно быть в классе. Но можно сделать функцию поиска родителя и использовать её (если необходимо).
-ВАЖНО: удаление можно реализовать простое, т.е. при удалении введенного числа, удаляются все такие узлы (с таким числом), а также все потомки удалённых (если удаляем корень, то дерево очищается). После этого НЕ НУЖНА балансировка, достаточно, чтобы работал вывод.
-Вывод – обратным обходом.
Программа должна компилироваться и работать в Visual Studio (версия 2012 года). Графика и кнопки реализуются в Windows Forms, но данные вещи не необходимы. Основная задача – работающее бинарное дерево на C++. (соответственно, можно разработать консольное приложение, где демонстрировался бы вызов написанных функций/методов)
Так как программа необходима в учебных целях, желательно не использовать такую вещь, как шаблоны.
Комментарии к коду тоже желательны.
С примером оформления можно ознакомиться в прикрепленном архиве. Некоторые функции (например, обход и добавление без балансировки) работают.
Также прикрепляю ссылки на сайт с подробным описанием функций в дереве. (за исключением удаления, которое нужно написать так, как описано выше)
www.programiz.com/dsa/red...
www.cs.usfca.edu/~galles/... – сайт для проверки корректности балансировки. (удаление выполнено по-другому)
Программа будет принята, если:
-Она будет запускаться и корректно работать в Visual Studio (2012).
-Основные исключения и ошибки будут предусмотрены (попытки удаления пустого дерева, работоспособность с несколькими узлами с одинаковыми значениями записанных чисел и прочее)
Категория
Источник: fl.ru

Похожие проекты

 
0 2
Основной задачей является тестирование игрового мода для разрабатываемого нами проекта на базе GTA SAMP (San Andreas Multiplayer). Главной задачей тестирования является поиск багов, то есть недоработок игрового мода, как смысловых (система работает, но бессмысленно/не правильно) так и визуальных (метка......
safe 
0 1
Разработка виртуальной среды для Proxmox. Необходимо разработать обход обнаружения античитами видеоигр виртуальных машин на proxmox. Надо иметь возможность разделения видеокарты на несколько виртуальных машин и предоставлять прямой доступ к карте. Использовать патченное ядро, закрывающее баг RTDS обнаружения.......
1 месяц назад
$3
0 1
расшифровать или подобрать MD5 Хэш: c74d673f4042bd732ae2a287c059a9ba. начало ответа 8385626820 8385626820. хх....
4 месяца назад
safe 
0 5
Cофт для автоматической торговли токенами в сети Solana. На разработку с тестами и устранением багов выделяется 1-2 месяца, при превышении контракт расторгается!...
safe 
0 8
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
 
0 1
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
9 месяцев назад
 
0 3
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
9 месяцев назад
$7
0 5
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
11 месяцев назад
safe 
0 2
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
$21
0 3
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
1 год назад
safe 
0 2
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine   Проблема: Система обработки этих писем написана некорректная и негибкая    Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
$37
0 4
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
$71
0 1
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
1 год назад
safe 
0 2
Разрабатываю десктопные программы на языке Java,  а так же Java + SQL....
 
0 9
  1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
safe 
0 7
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
safe 
0 10
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках.   Требования к исполнителю:......
safe 
0 17
Разработка чат-бота под ваши нужды....
$143
0 1
Oпpocы (1008pyб/чaс) Заходитe на сaйт: gonsù....
1 год назад
Смотреть все