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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
#1

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

21.02.2010, 21:30. Просмотров 1934. Ответов 12
Метки нет (Все метки)

объясните пожалуйста что означает слово бинарное?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2010, 21:30     бинарное дерево?Файл?
Посмотрите здесь:

Бинарное дерево в типизированный файл - C++
Задача над которой бьюсь уже третий день. 1. Сделать базу данных клиентов банка на основе бинарного дерева дерева Сделать...

файл, структура, бинарное дерево - C++
-------------------------------------------------------------------------------- Доброго времени суток!!! Помогите решить задачку, у...

Структуры. Бинарное дерево. - C++
Поставлена такая задача. Является ли двоичное дерево линейным списком вершин? Реализовать надо на динамических структурах. PS....

Переделать в бинарное дерево - C++
#include <iostream> #include <conio.h> using namespace std; struct Node{ int info; Node* next; }; class Spisok { ...

Бинарное дерево, классы - C++
Помогите! Мне нужно описать класс, реализующий бинарное дерево, обладающее возможностью добавление новых элементов, удаления существующих,...

STL бинарное дерево - C++
Доброго времени суток!:) Изучаю STL, пока поверхностно прошелся по контейнерам, но не встретил деревьев... хотя set, multiset, map и...

Сбалансированное дерево (бинарное) - C++
кто сможет, пожалуйста напишите код с++, построения сбалансированного дерева,функцию добавления элемента в дерево и восстановелния...

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

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

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

Добавлено через 1 минуту
МедведЪ, а да ещё почитай раздел дискретной математики - графы и его подраздел деревья)
ну и динамические структуры данных посмотри 2 варианта работы с деревом ( рекурсивный и цикловой)
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
22.02.2010, 07:14     бинарное дерево?Файл? #3
МедведЪ, Бинарное дерево - это абстакция.
Андрейка все правильно тебе рассказал.
А ПРЕДСТАВИТЬ его - можно в файле, можно на бумажке нарисовать, можно в голове держать,
можно по нему лазить - это уж как получится
Узел дерева, не имеющий потомков, называется листом.
Или сучком
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
22.02.2010, 11:52  [ТС]     бинарное дерево?Файл? #4
Андрейка, все таки я не понял что такое дерево...может это меню с его подглавами?и подподглавами?может что то
C++
1
case 1:case 2:case 3
?
если нет то приведите код
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
22.02.2010, 12:38     бинарное дерево?Файл? #5
МедведЪ,
может это меню с его подглавами?и подподглавами
Да, это дерево, токмо не бинарное. У бинарного - 2 ветки в каждом узле.
Вот конструкция "if... else ..." - это уже бинарное древо, а "if ... else if... else..." -
уже не бинарное. Вообще в программирование деревья - на каждом шагу. Лес, тайга, сельва,
часто и бурелом..."
Бинарные деревья проще в теории (о них можно больше интересного сказать), поэтому
теоретики пытаются прочие дерева свести к бинарным.
Это тоже самое что вместо "switch.. case..." написать "if ... else { if ... else { if... } }"
По-моему легче всего понять смысл дерева - это взять лист бумаги и чего-нибудь на нем нарисовать. Какой-нибудь граф без циклов.
если нет то приведите код
Код тут не поможет. Тут надо привести все мироздание.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
22.02.2010, 12:40  [ТС]     бинарное дерево?Файл? #6
понятно, а файл?
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
22.02.2010, 13:02     бинарное дерево?Файл? #7
Цитата Сообщение от МедведЪ Посмотреть сообщение
понятно, а файл?
Хмм.
Файл - это хранилище, картотека. Хотя если хочется (или нужно) можно рассматривать сам файл
как корень, а его записи (или строчки) - как ветки. А буковки - как ветки, а битики (из которых
состоят байты) - как ветки следующего порядка. А можно рассматривать слова как ветки -
все зависит от твоей задачи.
Вот файловая структура (Диск - папки - файлы) - это точно дерево.
Дерево - это мысленная абстракция, которую мы накладываем (или в которую вкладываем),
на занимающую нас часть реального мира, чтобы с ней совладать.
Единственное ограничение дерева (в отличии от общего графа) - циклов быть не должно.
Вот Help какой-нибудь или Интернет - это уже не дерево, щелкая по ссылочкам ты прекрасно можешь вернуться в место, в котором уже побывал.
Короче - дерево это инструмент мышления, как язык, например (естесственный или алгоритмический - без разницы). И очень эффективный.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 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
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 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
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
22.02.2010, 18:01  [ТС]     бинарное дерево?Файл? #12
Patch, а можно код С++ с этим файлом?если не трудно...а то не догоняю...или статью где для новичков норм объясняется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2010, 18:35     бинарное дерево?Файл?
Еще ссылки по теме:

Простое бинарное дерево - C++
Простое бинарное дерево с int ключом, добавлением, удалением по ключу и выводом на консоль. Можно использовать при начальном изучении и...

Создать бинарное дерево - C++
Есть обычное дерево. Узел описывается struct nod int Value; int Number_Of_Sons; nod *Son Число сыновей может быть до пяти. ...

Бинарное дерево с шаблоном - C++
Пишу бинарное дерево типа BST<Key, Value>. Значениями хочу сделать любые типы данных. По-этому пришол к шаблонам, но с реализацией не...

Бинарное упорядоченное дерево - 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     бинарное дерево?Файл?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru