Форум программистов, компьютерный форум CyberForum.ru

бинарное дерево?Файл? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
21.02.2010, 21:30     бинарное дерево?Файл? #1
объясните пожалуйста что означает слово бинарное?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2010, 21:30     бинарное дерево?Файл?
Посмотрите здесь:

файл, структура, бинарное дерево C++
Бинарное дерево C++
Бинарное дерево C++
Бинарное дерево C++
Бинарное дерево в типизированный файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрейка
408 / 212 / 22
Регистрация: 25.03.2009
Сообщений: 712
21.02.2010, 23:25     бинарное дерево?Файл? #2
МедведЪ,
Бинарное (двоичное) дерево (binary tree) - это упорядоченное дерево, каждая вершина которого имеет не более двух поддеревьев, причем для каждого узла выполняется правило: в левом поддереве содержатся только ключи, имеющие значения, меньшие, чем значение данного узла, а в правом поддереве содержатся только ключи, имеющие значения, большие, чем значение данного узла.

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

Узел дерева, не имеющий потомков, называется листом.

Добавлено через 1 минуту
МедведЪ, а да ещё почитай раздел дискретной математики - графы и его подраздел деревья)
ну и динамические структуры данных посмотри 2 варианта работы с деревом ( рекурсивный и цикловой)
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
22.02.2010, 07:14     бинарное дерево?Файл? #3
МедведЪ, Бинарное дерево - это абстакция.
Андрейка все правильно тебе рассказал.
А ПРЕДСТАВИТЬ его - можно в файле, можно на бумажке нарисовать, можно в голове держать,
можно по нему лазить - это уж как получится
Узел дерева, не имеющий потомков, называется листом.
Или сучком
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
22.02.2010, 11:52  [ТС]     бинарное дерево?Файл? #4
Андрейка, все таки я не понял что такое дерево...может это меню с его подглавами?и подподглавами?может что то
C++
1
case 1:case 2:case 3
?
если нет то приведите код
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
22.02.2010, 12:38     бинарное дерево?Файл? #5
МедведЪ,
может это меню с его подглавами?и подподглавами
Да, это дерево, токмо не бинарное. У бинарного - 2 ветки в каждом узле.
Вот конструкция "if... else ..." - это уже бинарное древо, а "if ... else if... else..." -
уже не бинарное. Вообще в программирование деревья - на каждом шагу. Лес, тайга, сельва,
часто и бурелом..."
Бинарные деревья проще в теории (о них можно больше интересного сказать), поэтому
теоретики пытаются прочие дерева свести к бинарным.
Это тоже самое что вместо "switch.. case..." написать "if ... else { if ... else { if... } }"
По-моему легче всего понять смысл дерева - это взять лист бумаги и чего-нибудь на нем нарисовать. Какой-нибудь граф без циклов.
если нет то приведите код
Код тут не поможет. Тут надо привести все мироздание.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
22.02.2010, 12:40  [ТС]     бинарное дерево?Файл? #6
понятно, а файл?
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
22.02.2010, 13:02     бинарное дерево?Файл? #7
Цитата Сообщение от МедведЪ Посмотреть сообщение
понятно, а файл?
Хмм.
Файл - это хранилище, картотека. Хотя если хочется (или нужно) можно рассматривать сам файл
как корень, а его записи (или строчки) - как ветки. А буковки - как ветки, а битики (из которых
состоят байты) - как ветки следующего порядка. А можно рассматривать слова как ветки -
все зависит от твоей задачи.
Вот файловая структура (Диск - папки - файлы) - это точно дерево.
Дерево - это мысленная абстракция, которую мы накладываем (или в которую вкладываем),
на занимающую нас часть реального мира, чтобы с ней совладать.
Единственное ограничение дерева (в отличии от общего графа) - циклов быть не должно.
Вот Help какой-нибудь или Интернет - это уже не дерево, щелкая по ссылочкам ты прекрасно можешь вернуться в место, в котором уже побывал.
Короче - дерево это инструмент мышления, как язык, например (естесственный или алгоритмический - без разницы). И очень эффективный.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
22.02.2010, 16:52  [ТС]     бинарное дерево?Файл? #8
Day, не понимаюможно пример?
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
22.02.2010, 17:36     бинарное дерево?Файл? #9
Цитата Сообщение от МедведЪ Посмотреть сообщение
не понимаюможно пример?
пожалуйста. библиотечное дерево.
_______________1__а
___________1______аб
_______________0__б
______1___________аб
_1________________абвг
___________1______в
______0___________вг
___________0______г
Позволяет быстро найти нужную букву.
В малом масштабе удобство хранения и скорость поиска оценить трудно, но представьте дерево с тысячей листьев!
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
22.02.2010, 17:54  [ТС]     бинарное дерево?Файл? #10
Patch,

Добавлено через 17 секунд
что за 1 и 0 там
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
22.02.2010, 17:59     бинарное дерево?Файл? #11
Цитата Сообщение от МедведЪ Посмотреть сообщение
что за 1 и 0 там
считай это кодом строки.
мне просто так представлять удобнее.
код - это ветки, а буквы - листья.
чтобы добраться до нужного листа, нужно пройти по веткам, согласно схеме дерева.

без такой бинарной схемы пришлось бы искать нужную букву перебором всего объема данных.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
22.02.2010, 18:01  [ТС]     бинарное дерево?Файл? #12
Patch, а можно код С++ с этим файлом?если не трудно...а то не догоняю...или статью где для новичков норм объясняется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2010, 18:35     бинарное дерево?Файл?
Еще ссылки по теме:

C++ Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой
Бинарное дерево C++
C++ Исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
22.02.2010, 18:35     бинарное дерево?Файл? #13
ёпрст...
примитивный вариант поиска данных по индексному бинарному дереву.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Node{
     l_Node *Node; //левый узел
     r_Node *Node; //правый узел
     char value;     //ключ
     int mass[100]; //какие-то индексируемые ключами данные
};
Node * find_node(char val, Node * lpNode)
{
     if(val <= lpNode ->Value) //если искомое меньше текущего, или равно ему - ищем слева
     {
         if(lpNode->l_Node == 0) return lpNode;
         return(find_node(val, lpNode->l_Node));
     }
     if(lpNode->r_Node == 0) return lpNode;  //иначе - ищем справа
     return(find_node(val, lpNode->r_Node));
}
Yandex
Объявления
22.02.2010, 18:35     бинарное дерево?Файл?
Ответ Создать тему
Опции темы

Текущее время: 08:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru