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

Бюджет 50$ / 3000
руб
в месяц
Создан: 3 года назад
На модерации
Описание
Программа необходима в учебных целях.
"Необходимо разработать 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

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

safe$22
9 0
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
safe 
28 0
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
1 год назад
safe 
44 1
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
1 год назад
safe$44
49 0
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe$1111
48 0
Требуется написать парсер маркетплейса, у которого есть только мобильное приложение (IOS, Android). Есть исходный код Android приложения (Java + Kotlin), реверснутый через JADX. Необходимо парсить данные о товарах, полученные по артикулу. За подробностями тг: @markermann)....
1 год назад
 
38 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
31 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
40 1
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
$22
59 1
В Геткурсе нужно сделать интеграцию со Сбербанком для оформления рассрочки/кредита. Основная задача – передача суммы и номера заказа при переходе для оформления рассрочки и возврат сведений при удачном оформлении. Эквайринг от Сбербанка к Геткурсу подключён, а готовой интеграции для рассрочки нет. Если......
1 год назад
 
96 0
Нужно сделать бот перехватчик заказов по фильтру такси Максим!...
1 год назад
$33
75 1
Как можно загрузить готовое фото из галереи, если приложение просит загрузить фото и при этом открывает камеру телефона? Нужно вместо использования реальной камеры смоделировать вход камеры и при этом загрузить фото из галереи....
1 год назад
 
117 3
Очень простой криптообменник в виде веб-сайта. Без смарт-контрактов и т. Все платежи вручную....
Смотреть все