![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
Здравствуйте. Меня интересует вопрос, есть ли какой-нибудь алгоритм построения двоичного дерева поиска с заданной высотой. Сейчас меня не интересует код построения, мне интересно как это делается на листе бумаги. Допустим надо построить дерево высотой 3 с ключами от 1 до 15, как в этом случае надо рассуждать ?
|
![]() |
![]() |
![]() |
#2 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
ап....................
|
![]() |
![]() |
![]() |
#3 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
поправка, симметричное дерево
допустим корень будет 8, тогда дерево будет такое Код:
Последний раз редактировалось NiCola999; 18.12.2009 в 19:24. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 17.12.2009
Сообщений: 74
|
![]()
Знаешь, что такое бинарная куча?
это массив, у которого M[i] <= M[2*i+1] и M[i] <= M[2*i]. то есть наверху всегда самый маленький элемент. Чтобы создать такую кучу, достаточно увеличить колво элементов массива, присвоить последнему элементу массива заданное значение и пропихивать его вверх до тех пор пока не будет выполняться неравенство для этого элемента. M[i] >= M[i div 2]. Только у 1ого элемента нету предка. У всех остальных ровно 1 предок, и не более 2ух сыновей. Каждый сын больше своего предка. Смотри в гугле Пирамидальную сортировку. Всё поймёшь. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двоичное дерево на си++ | fesked | Помощь студентам | 0 | 22.10.2009 23:44 |
двоичное дерево | s20 | Помощь студентам | 0 | 22.10.2009 03:51 |
Двоичное дерево поиска структур | lioshenka | Общие вопросы C/C++ | 3 | 15.08.2009 12:18 |
Двоичное дерево | afeg | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 19.12.2008 14:49 |