Введение После линейных структур и деревьев (частный случай графа без циклов) переходим к графам в общем виде — структуре, моделирующей произвольные связи между сущностями, естественной для широкого круга…
Введение В статьях SQL-цикла упоминала B-tree индексы СУБД — в этой статье разберём похожую по духу, но более общую структуру данных программирования: бинарные деревья поиска, лежащие в основе…
Введение QSet для демонстрации линейной сложности поиска дубликатов — в этой статье разберём хеш-таблицы (std::unordered_map/unordered_set, QHash/QSet) подробнее: принцип работы через хеш-функцию, проблему коллизий, и практические последствия для производительности.…
Введение Основной цикл статей уже использовал std::vector/QVector без подробного разбора внутреннего устройства — в этой статье разберём, как реализованы основные линейные контейнеры STL изнутри, и какая внутренняя структура…
Введение Все предыдущие циклы статей писали код, работающий корректно — но не всегда явно анализировали, насколько быстро этот код работает при росте объёма данных. В этой статье разберём…
Введение В заключительной статье цикла, и всего плана статей в его текущем объёме, соберём итоговый проект, демонстрирующий применение разобранных алгоритмов и структур данных для оптимизации реалистичной, практической задачи…
Введение В завершение разбора структур данных рассмотрим три специализированные структуры, каждая решающая конкретный, узкий класс задач значительно эффективнее общих структур: кучу для эффективного доступа к минимуму/максимуму (уже использованную…
Введение В отличие от динамического программирования, рассматривающего все возможные варианты решения подзадач, жадный алгоритм на каждом шаге делает локально оптимальный выбор, никогда не пересматривая его позже — в…
Введение Динамическое программирование (ДП) — техника решения задач путём разбиения на подзадачи с сохранением (мемоизацией) уже вычисленных результатов подзадач, избегая повторного пересчёта одного и того же — в…
Введение Бинарный поиск как принцип, лежащий в основе поиска в сбалансированном дереве — в этой статье разберём бинарный поиск отдельно, как самостоятельный алгоритм для отсортированных линейных коллекций, и…
Нравится qthelper.ru? 💚
Сайт живёт без пейволов и обязательной подписки. Если статьи помогают вам в работе — поддержите проект.