С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Простая организация удаление узла в бинарном дереве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стивен Прата Кто Читал его ? - Нужен Совет http://www.cyberforum.ru/cpp-beginners/thread827926.html
Нужна книжка по изучению C++ ,так сказать "С НУЛЯ",чтоб всё разжевывалось. Остановился На авторе Стивен Прата ,книга - Язык программирования C++ лекции и упражнения ,так вот ,вопрос в том какое...
C++ Массив структур Как отсортировать массив структур или вектор (значения не имеет) по полю типа float? Спасибо Вот нашёл пример на форуме, но не могу понять выделенные строки и по какому полю идёт сортировка(думаю по... http://www.cyberforum.ru/cpp-beginners/thread827914.html
Нужна литература по использованию popcap framework C++
Недавно нашел в интернете статью про 2D игры написанных на с++ с помощью popcap framework, но литературы я не нашел на эту тему, может вы посоветуете литературу на русском языке по использованию...
C++ Считывание уже выведенных символов на экране консоли
Привет всем тем, кто любит пушистых зверушек, да и всем остальным тоже. Ну да ладно, Допустим на экран выведена некоторая информация, путь будет cout<<endl; system("ver"); на экране выведется:...
C++ передача массива по значению http://www.cyberforum.ru/cpp-beginners/thread827894.html
Такая проблема Написал лабу "решение СЛУ методом Гаусса" Все корни идет верно. Но при проверке корней, обнаружил, что исходная матрица преобразовалась в глобальной области кода, хотя в функцию она...
C++ Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +,*,- дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +,*,-. группой букв называют такую последовательность букв, которой не предшествует и за которой не следует... подробнее

Показать сообщение отдельно
ya_noob
_
203 / 147 / 9
Регистрация: 08.10.2011
Сообщений: 432
04.04.2013, 20:28
Цитата Сообщение от xtorne21st Посмотреть сообщение
А вы говорите об оптимизации...
нет, я говорю о том, что ваш алгоритм ухудшает структуру дерева. нужен другой подход.
Цитата Сообщение от xtorne21st Посмотреть сообщение
Есть пару идей, но при удалении звена придётся перестраивать пол дерева, что тоже не совсем хорошо.
Идея такая: удаляемый узел в общем случае имеет 2 поддерева A и B. Все узлы в поддереве В больше чем в поддереве А. Если получится поднять самый младший узел в поддереве В в корень, то у него не будет левого потомка. Вот сюда то и нужно будет вставить поддерево А, т.к. все узлы А меньше чем новый корень поддерева В.

Ваша задача заключается в том, чтобы найти оптимальный способ поднять тот узел в корень поддерева В. (подсказка: ищите инфу про повороты в бинарном дереве)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.