Удаление корня двоичного дерева11.02.2013, 03:56. Показов 13837. Ответов 22
Метки нет (Все метки)
0
|
|
| 11.02.2013, 03:56 | |
|
Ответы с готовыми решениями:
22
Удаление узла и корня бинарного дерева Пример двоичного дерева Обход двоичного дерева по уровням |
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
| 11.02.2013, 04:08 | |
|
Берешь, удаляешь элемент корня, а на его место ставишь какой-нибудь лист дерева. Если у тебя бинарное дерево поиска, то после этого нужно дерево перестроить.
0
|
|
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
| 11.02.2013, 05:02 | |
|
ptr - это указатель на вершину, у любого узла дерева есть 3 указателя: на левый и правый дочерние и на родителя. У корня дерева указатель на родителя NULL. После удаления корня, чтобы не перестраивать все дерево целиком, можно вместо корня поставить другой элемент этого дерева. Проще всего подставить лист дерева. ptr указывает на корень. Перенаправляем его на выбранный лист, у родителя листа ставим указатель на левый/правый в NULL(зависит от того каким дочерним является лист по отношению к родителю). А правый и левый у листа ставим как и у старого корня. А затем освобождаем память из под старого корня. Т.е. в итоге мы заменили корень на лист дерева, а потом удалили старый корень.
0
|
|
| 11.02.2013, 13:15 [ТС] | |||||||
Добавлено через 7 часов 37 минут up?
0
|
|||||||
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
| 11.02.2013, 14:09 | |
|
Совершенно не верно. 1) Нужно найти лист дерева. 2) Переприсвоить указатели 3) Удалить старый корень.
Т. е. все как я описпл выше. Если не понятно, то найди литературу по бинарным деревьям - там все есть. Например, книга Кормена.
0
|
|
| 11.02.2013, 15:58 [ТС] | |||||||||||||||||
0
|
|||||||||||||||||
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
||||||
| 11.02.2013, 16:04 | ||||||
|
ну вам же уже сказали что неверно рассуждаете,
0
|
||||||
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
| 11.02.2013, 16:11 | |
|
Запоминается в некую временную переменную. Лист дерева - это элемент, у которого нет дочерних. А объяснять теорию по деревьям слишком долго и влом. Так что, имхо - бери книгу, открывай нужную главу и читай, а Кормен есть в открытом доступе в инете.
0
|
|
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
||||||
| 11.02.2013, 16:18 | ||||||
|
так вот в Node а не в ptr , вы сами то хоть просматривайте что пишите
тогда
0
|
||||||
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|
| 11.02.2013, 16:25 | |
|
0
|
|
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|||
| 11.02.2013, 16:33 | |||
0
|
|||
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
|
| 11.02.2013, 17:19 | |
|
если дерево уже пустое, то и удаляй просто так
Добавлено через 1 минуту тебе же говорят о том что если оно не пустое, а корень надо убрать то выбирается лист в качестве корня,заменяется,а корень чтоб удалить надо запомнить,если и так все пусто, то и вопрос глупый
0
|
|
| 11.02.2013, 17:22 [ТС] | ||||||||||||||||
|
корень передавал фун-ии по ссылке
в корне число 49, левый и правый потомки равны нулю (их нет) просто обнулил корень варианты удаления, работает: 1.
что есть не правильным с точки зрения внутренностей, памяти и т.п.??
0
|
||||||||||||||||
|
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
|
||||||
| 11.02.2013, 17:23 | ||||||
0
|
||||||
| 11.02.2013, 17:23 | |
|
Помогаю со студенческими работами здесь
20
Проверка корректности двоичного дерева
Алгоритм реализации двоичного дерева Помогите сделать обход двоичного дерева Разработать программу построения двоичного дерева Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|