Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> зачем нужны бинарные деревья? 
:(
    Опции темы
Podarochek
Дата 7.3.2008, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Уважаемые, гуру, подскажите пожалуйста, зачем нужны бинарные деревья...ибо посмотрел (учить надобно), а мотивации нету smile 
PM MAIL   Вверх
v2v
Дата 7.3.2008, 00:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



для поискать, сортировки.


--------------------
PM   Вверх
andrew_121
Дата 7.3.2008, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Бинарное дерево, это единственная в своем роде структура представления данных.
Смотри:Бинарные деревья - Wikipedia


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Podarochek
Дата 7.3.2008, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



единственная то понятно...в чем есть гуд..т.е. какие Приимущества  smile 
PM MAIL   Вверх
jonie
Дата 7.3.2008, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 15
Всего: 118



напиши словарь (ну там словарь даля попарси). попробуй реализовать "базу данных" в дереве и в queue (ну или vector).... сделай поиск (выводя количество сравнений). почувствуй разницу)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
andrew_121
Дата 7.3.2008, 03:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Вот пример:
Код

A = 1 + 3 * (B - 7);

         A
         |
         *
        / \
       /    \
      /       \
     /          \
    +             -
   /  \         /   \
 1     3       B     7


Вот классический пример...
Удачного обучения...

Это сообщение отредактировал(а) andrew_121 - 7.3.2008, 03:54


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Fazil6
Дата 7.3.2008, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



andrew_121, разве так?
PM MAIL   Вверх
LED
Дата 7.3.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 29.2.2008

Репутация: нет
Всего: 1



Действительно, это выражение в дерево раскладывается так
Код

                  A
                  |
                  +
                /    \
              /        \
             1         *
                       /  \
                     /      \
                    3       -
                            /  \
                          /     \
                         B      7

а ты нарисовал дерево для A = (1+3)*(B-7)
PM MAIL Jabber   Вверх
sergejzr
Дата 7.3.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Цитата(Podarochek @  6.3.2008,  23:07 Найти цитируемый пост)
Уважаемые, гуру, подскажите пожалуйста, зачем нужны бинарные деревья...ибо посмотрел (учить надобно), а мотивации нету 

Поиск - одно из применений. Если данные в таком дереве правильно расположены, то ты всегда знаешь, что находясь в любом узле дерева, слева от тебя все значения больше, а с права меньше, чем значение узла. 


Код

        
         10
        / \
       /    \
      /       \
     /          \
    15             7
   /  \         /   \
 22     14       9     3


к примеру ищем число 9, Начинаем с корня. 9 меньше 10 (9<10) а значит следующий шаг надо сделать неправо. Попадаем в 7, 9 больше семи, значит следующий шаг делаем налево. Ура, нашли smile

А если детей у узла больше нет, значит и искомого в дереве нет.
В обоих случаях мы за два шага мы проверили целое дерево.



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
baldina
Дата 7.3.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



бинарные деревья - наиболее общая (и простая) "деревянная" структура (любое дерево можно привести к бинарному).
Вообще деревья характеризуются удачным соотношением временнОй сложности основных операций: вставка, удаление, поиск.
std::map и std::set нередко построены на RB-деревьях (red/black, есть такая разновидность)
Вобщем полезная структура данных, изучай.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.