Как устроен

дружит с кэшем

Статьи

DS Структура данных Динамический массив Массив, который растёт сам: доступ по индексу за O(1), добавление в конец — за O(1) амортизированно. O(1) амортизированно на append 2 задачи DS Структура данных B-дерево Дерево с сотнями ключей в узле-странице: поиск среди миллиарда ключей читает пять страниц. O(log n) сравнений, O(log_B n) чтений страниц 2 задачи GRA Приём Как хранить граф Матрица, списки, массив рёбер и CSR: память, скорость и какие вопросы каждая запись задаёт дёшево. соседи вершины: O(n) у матрицы, O(deg) у списков и CSR; есть ли ребро: O(1) у матрицы, O(deg) у списков 2 задачи NUM Алгоритм Решето Эратосфена Все простые до n за O(n log log n): вычёркиваем кратные каждого простого, начиная с его квадрата. O(n log log n) 2 задачи TEC Приём Данные, удобные кэшу Тот же алгоритм, другой порядок обращений к памяти: обход блоками, запас в строках и раскладка по полям. O-большое то же 1 задача TEC Приём Числа, которые стоит знать Кэш, память, диск и сеть отличаются в сотни раз — прикидка по этим числам показывает, что ускорять. прикидка — минута на салфетке 1 задача

Задачи

Часто рядом

массив 4 классика 4 собеседования 3 в проде 3 базы данных 2 матрица 2 оценка 2 замеры 2 амортизация 1 дерево 1 дерево поиска 1 внешняя память 1