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

Дерево, бинарное дерево - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MSVS 2012: fstream не открывает файл при дебаге http://www.cyberforum.ru/cpp-beginners/thread942346.html
Имеется простенькая программка, читающая файл input_file.txt в одной папке с экзешником и выводящая текст в консоль. #include "stdafx.h" #include <iostream> #include <fstream> #include <string>...
C++ Перенаправление вывода при запуске процесса Создаю файл, в который хочу перенаправить вывод. Заполняю структуру STARTUPINFO. Не забываю туда вписать дескриптор только что созданного файла. Создаю процесс. Он отрабатывает, но в выходном файле... http://www.cyberforum.ru/cpp-beginners/thread942337.html
C++ Передача данных
Здравствуйте! Подскажите, пожалуйста, как организовать передачу данных, допустим через сокет, с заданной скоростью V_out, например, 15Мб в секунду? Отправляю я пакеты длины 188 байт. Но скорее всего...
C++ Структура в качестве ключа для map
Доброго времени суток. Имеется простая структура struct coordinateSet { public: coordinateSet(char *X,int *Y) {
C++ Передача адреса функции в функцию (Класы) http://www.cyberforum.ru/cpp-beginners/thread942276.html
Пример: // Общая функция increment void Test::IncBaseFunction ( void (Test::*IncFunct)() ) { // Как правильно передать и вызвать IncFunct ? }
C++ Классы в c++ Извините, если не туда написал. Вот к примеру я создал класс classa. В функции main создал объекты vasya и petr. Но, в других функциях эти объекты работать не будут. Будет писать, мол таких объектов... подробнее

Показать сообщение отдельно
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
23.08.2013, 14:58
Цитата Сообщение от VLK Посмотреть сообщение
zer0mail, я просто не совсем понимаю: есть звено, и по логике от него могут отходить всего 2 звена - число больше направо, число меньше налево, но вы говорите о третьем и более ответвлении откуда оно берется, я не понимаю или может мой пример изначально не правильный?
Узел - такая структура, где есть поля для: значение, указателя на левого потомка, на правого потомка.
В дереве есть корень - начальный узел, у которого нет предка. Предок для узла X - это такой узел, Y, где X является потомком (в этом дереве - либо левым, либо правым потомком). Нигде 3 связи нету, если только не захочешь хранить указатель на предка.
Дерево, где максимум два узла могут являться потомками для какого-то узла, называется бинарным. Насколько я помню, бинарное дерево поиска - такое дерево, где при добавлении какого-то значения происходит такая проверка: если это значение меньше текущего - добавить в левое поддерево, иначе - в правое.
Остальное - уже вторично, например, если в двоичное дерево поиска добавлять элементы только в порядке возрастания, то дерево будет выглядеть так:
[]
*\
**[]
***\
****[]
***** \
******[]
Для таких случаев придуманы красно-черные деревья и способы балансировки.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru