TwiddleLab / Курсы / Код
Структуры данных, которые видно
Стеки, очереди, хеш-таблицы и деревья, которые можно потрогать, а потом выбрать нужное под задачу.
Лучше после: Строим на Python, Алгоритмы в движении
Уроки
- Стеки: последним пришёл, первым вышел (5 мин): Стек хранит вещи стопкой: добавляешь сверху и берёшь сверху.
- Очереди: первым пришёл, первым вышел (7 мин): Очередь это линия: элементы встают в конец и уходят из начала.
- Связные списки: цепочки стрелок (7 мин): Если поставить элемент в начало списка Python, сдвигается каждый другой элемент: n перемещений для n элементов.
- Хеш-таблицы: как словари находят вещи (7 мин): Хеш-функция превращает ключ в число. Это число % размер таблицы выбирает шкафчик.
- Множества: а оно там есть? (7 мин): Множество хранит каждый элемент один раз, без определённого порядка. Это хеш-таблица с ключами без значений.
- Деревья: папки внутри папок (7 мин): У дерева один корень; у каждого другого узла один родитель и сколько угодно детей. Узлы без детей это листья.
- Двоичные деревья поиска (7 мин): Двоичное дерево поиска соблюдает одно правило в каждом узле: меньшие значения в левой ветке, большие в правой.
- Кучи и очереди с приоритетом (7 мин): Очередь с приоритетом выдаёт сначала самый срочный элемент, а не самый старый.
- Выбираем правильную структуру (7 мин): Нет структуры, лучшей во всём. Каждая быстра в одних задачах и медленна в других: это компромисс.
- Кнопка «Отменить» и таблица лидеров (7 мин): Отмена и повтор работают на двух стеках: отмена переносит самое новое действие из done в undone, повтор переносит обратно.
Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.