![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| toxa007 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.12.2005 Репутация: нет Всего: нет |
Дано любое бинарное дерево. Как его сделать равновесным? Равновесное это когда для любого узла высота левого и правого поддерева отличается не более чем на единицу.
|
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
ИМХО, попробуй так: идешь снизу вверх по дереву. Для каждой вершины смотришь, является ли она равновесной. Если нет, смещаешь его влево или вправо на столько, сколько нужно. -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| toxa007 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.12.2005 Репутация: нет Всего: нет |
Может ещё другие советы будут?
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 1 Всего: 360 |
Поищи материалы по красно чёрному дерево (red-black tree). B - Tree также у равновешен. Прикол не только в том, что у него поддеревья одинаковой длинны, но и сама высота минимальна (максимальное количество поддеревьев у каждого узла)
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |