Хочу написать двоичное дерево для хранения строк. Как упрощенная задача - нужно отсортировать дерево на одном уровне. Т.е. просто отсортировать по одному символу буквы.
Допустим есть дерево
struct Node {
Node * left;
Node * right;
char c;
}
Какие существую варианты балансировки (упорядочивания дерева). Выходит что должен существовать медленный вариант и быстрый но не очень качественный?
Я вижу следующий алгоритм. 1. Создаем линейный массив, методом вставки упорядочиваем его, обходя все дерево. (тут т.к. извесно что елементов будет не более 256, то массив можно заранее создать в стеке) 2. Делим массив пополам, посередине корень, узел слева-посередине(1/4) - левый елемент, узел справа-посередине(3/4) - правый елемент, для деток повторяем деление (можно рекурсией).
Какие существую варианты балансировки деревьев желательно с оценкой затратности алгоритма, может есть ссылка где всё до кучи собрано?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В коде много "странностей", но основная ошибка в том, что в функции поиска вы почему-то обращаетесь к text[column]Это, разумеется, совершенно не правильно
Есть самописное подобие stlСуть задачи - вектор пар (тоже самописные)
Пишу код под задачу со считалкой в строке и одномерным массивом с людьмиЧерез поток делю строку на слова и через while выполняю считалку один...
Можно ли считать указатели на функции одним из способов реализации статического полиморфизма?