Использовано изображение портала cartoonbank.ru В прошлой статье мы рассмотрели правила формирования красно-чёрного дерева поиска и рассмотрели случаи балансировки при добавлении элементов. Теперь поговорим об удалении элементов. Возьмём, для примера, вот такое красно-чёрное дерево: Читать дальше →
Представьте, что у вас есть многослойный пайплайн обработки данных.Ширина слоя — 5000 узлов. Количество слоёв — 60. Общее число узлов — 300 000.Каждую секунду приходит 10 новых событий (изменений на входе). Наивный подход — пересчитать всё с нуля — будет перебирать все 300 000 узлов на каждое обновление. При 10 обновлениях в секунду это 3 млн вычислений узлов в секунду. А если ширина слоя 100 000 и слоёв 100? Получаем 10 млн узлов на пересчёт. Компьютер не справляется. Читать далее
Довольно долгое время я воевал с красно-черным деревом. Вся информация, которую я находил, была в духе "листья и корень дерева всегда черные, ПОТОМУ ЧТО", "топ 5 свойств красно-черного дерева" или "3 случая при балансировке и 12 случаев при удалении ноды". Такой расклад меня не…
История из жизни. Девушка предложила своему парню-программисту пройти психологический тест: Девушка: Нарисуй дерево. Программист: (рисует бинарное дерево) Девушка: Нет, другое. Программист: Я и красно-черное дерево могу нарисовать. Итак, сегодня хочу немного рассказать о красно-черных деревьях. Рассказ будет кратким, без рассмотрения алгоритмов балансировки при вставке/удалении элементов в красно-черных деревьях. Читать дальше →