<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Структуры Данных on Digitable courses</title>
    <link>https://courses.digitable.life/tags/%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/</link>
    <description>Recent content in Структуры Данных on Digitable courses</description>
    <generator>Hugo</generator>
    <language>ru-RU</language>
    <lastBuildDate>Sat, 01 Aug 2026 00:12:59 +0300</lastBuildDate>
    <atom:link href="https://courses.digitable.life/tags/%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Асимптотика, амортизация и модель памяти: как на самом деле считать стоимость</title>
      <link>https://courses.digitable.life/post/data-structures/01-complexity-and-memory/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/01-complexity-and-memory/</guid>
      <description>Строгий разбор O-нотации, трёх методов амортизированного анализа и модели памяти — почему O(1) бывает в сто раз медленнее O(log n) и как считать стоимость структуры данных так, чтобы прогноз совпадал с продакшеном.</description>
    </item>
    <item>
      <title>Вероятностные структуры: Bloom filter, HyperLogLog, Count-Min Sketch</title>
      <link>https://courses.digitable.life/post/data-structures/13-probabilistic-structures/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/13-probabilistic-structures/</guid>
      <description>Как обменять точность на память: устройство и математика фильтра Блума, HyperLogLog и Count-Min Sketch, их гарантии ошибок, рабочий код, границы применимости и место в реальных системах — от RocksDB до аналитики на миллиардах событий.</description>
    </item>
    <item>
      <title>Внутри Git: объекты, blob, tree, commit, ссылки и DAG истории</title>
      <link>https://courses.digitable.life/post/git/01-internals/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/01-internals/</guid>
      <description>Git — это не набор команд, а маленькая контентно-адресуемая база данных из четырёх типов объектов и направленный ациклический граф поверх неё; разбираем её по байтам, собираем коммит руками через plumbing и выводим из модели ответы почти на все вопросы про Git.</description>
    </item>
    <item>
      <title>Графы: представления, свойства и выбор структуры</title>
      <link>https://courses.digitable.life/post/data-structures/10-graphs-representation/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/10-graphs-representation/</guid>
      <description>Как хранить граф в памяти: список рёбер, матрица и списки смежности, CSR; чем они различаются по времени, памяти и локальности, как извлекать базовые свойства графа и как выбирать представление под реальную нагрузку.</description>
    </item>
    <item>
      <title>Дерево отрезков и дерево Фенвика</title>
      <link>https://courses.digitable.life/post/data-structures/12-segment-and-fenwick-trees/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/12-segment-and-fenwick-trees/</guid>
      <description>Как отвечать на запросы к произвольным отрезкам массива за O(log n), когда массив всё время меняется: биты дерева Фенвика, каноническое разбиение дерева отрезков, отложенные операции и честное сравнение того, что выбирать в проде.</description>
    </item>
    <item>
      <title>Деревья и бинарные деревья поиска</title>
      <link>https://courses.digitable.life/post/data-structures/06-trees-bst/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/06-trees-bst/</guid>
      <description>От определения дерева до продакшн-BST: обходы, инвариант порядка, поиск/вставка/удаление, порядковые запросы, вырождение и почему в реальных библиотеках лежит не BST.</description>
    </item>
    <item>
      <title>Как хранят данные: обзор структур данных и зачем их так много</title>
      <link>https://courses.digitable.life/post/computer-science/09-data-structures-big-picture/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/computer-science/09-data-structures-big-picture/</guid>
      <description>Память — это плоский пронумерованный массив байтов; структуры данных — это способы разложить в нём данные так, чтобы нужные операции были быстрыми. Обзор главных структур, их компромиссов и того, почему одной идеальной не существует</description>
    </item>
    <item>
      <title>Кучи и приоритетные очереди</title>
      <link>https://courses.digitable.life/post/data-structures/08-heaps-priority-queues/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/08-heaps-priority-queues/</guid>
      <description>Как из обычного массива получается структура, которая всегда знает свой минимум: инвариант кучи, sift-up и sift-down, построение за O(n), heapsort, d-арные и Фибоначчиевы кучи, decrease-key и ленивое удаление, top-k, скользящая медиана и реальные планировщики задач.</description>
    </item>
    <item>
      <title>Массивы, динамические массивы и строки</title>
      <link>https://courses.digitable.life/post/data-structures/02-arrays-and-strings/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/02-arrays-and-strings/</guid>
      <description>От адресной арифметики и кэш-линий до амортизированного append, Go-слайсов, UTF-8 и графемных кластеров — как устроена самая используемая структура данных и где на ней обжигаются.</description>
    </item>
    <item>
      <title>Неизменяемость: как работать с данными, ничего не меняя</title>
      <link>https://courses.digitable.life/post/functional-programming/02-immutability/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/functional-programming/02-immutability/</guid>
      <description>Почему запрет на изменение данных убирает целый класс багов, как обновлять неизменяемые структуры без квадратичного копирования и сколько это реально стоит в проде.</description>
    </item>
    <item>
      <title>Пары, списки и структуры данных из одних лямбд</title>
      <link>https://courses.digitable.life/post/lambda-calculus/06-pairs-and-lists/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/lambda-calculus/06-pairs-and-lists/</guid>
      <description>Как построить кортеж, запись и связный список, когда в языке есть только функции: пара Чёрча, два способа кодировать списки, полные раскрутки редукций и рабочий код на JavaScript и Python.</description>
    </item>
    <item>
      <title>Персистентные и конкурентные структуры данных</title>
      <link>https://courses.digitable.life/post/data-structures/14-persistent-and-concurrent/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/14-persistent-and-concurrent/</guid>
      <description>Что происходит со структурами данных, когда время перестаёт быть линейным: персистентность и структурное разделение, path copying, персистентное дерево отрезков, bit-partitioned vector, а затем CAS, ABA, lock-free стеки и очереди, конкурентные хеш-таблицы и скип-листы, hazard pointers, RCU и copy-on-write в проде.</description>
    </item>
    <item>
      <title>Персистентные структуры данных и их реальная стоимость</title>
      <link>https://courses.digitable.life/post/functional-programming/12-persistent-data-structures/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/functional-programming/12-persistent-data-structures/</guid>
      <description>Как устроены внутри персистентные векторы, HAMT, finger tree и зипперы, почему амортизация ломается под персистентностью и сколько на самом деле стоят неизменяемые коллекции в проде.</description>
    </item>
    <item>
      <title>Префиксные деревья, суффиксные массивы и строковые структуры</title>
      <link>https://courses.digitable.life/post/data-structures/09-tries-and-string-structures/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/09-tries-and-string-structures/</guid>
      <description>Что делать, когда ключ — не число, а последовательность: боры и их сжатые формы, автомат Ахо-Корасик для поиска тысячи шаблонов за один проход, суффиксные массивы с LCP вместо суффиксных деревьев, и как всё это живёт в автодополнении, роутинге и полнотекстовом поиске.</description>
    </item>
    <item>
      <title>Сбалансированные деревья: AVL, красно-чёрные, B-деревья</title>
      <link>https://courses.digitable.life/post/data-structures/07-balanced-trees/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/07-balanced-trees/</guid>
      <description>Как заставить дерево поиска не вырождаться: повороты как базовый примитив, строгий баланс AVL, слабый баланс красно-чёрных деревьев, многопутевые B и B+ деревья для дисков и кешей, а также честный разбор того, что и когда выбирать в проде.</description>
    </item>
    <item>
      <title>Связные списки: односвязные, двусвязные, кольцевые</title>
      <link>https://courses.digitable.life/post/data-structures/03-linked-lists/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/03-linked-lists/</guid>
      <description>Как устроены связные списки, почему они дают O(1) вставку и проигрывают массивам по кэшу, и где их всё ещё применяют в проде — от ядра Linux до LRU-кэшей и lock-free стеков.</description>
    </item>
    <item>
      <title>Система непересекающихся множеств (DSU)</title>
      <link>https://courses.digitable.life/post/data-structures/11-disjoint-set-union/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/11-disjoint-set-union/</guid>
      <description>Как двумя массивами и двадцатью строками кода получить структуру, которая отвечает на вопрос «связаны ли эти два объекта» практически за константу.</description>
    </item>
    <item>
      <title>Списки, словари и множества: работа с наборами данных</title>
      <link>https://courses.digitable.life/post/intro/08-collections/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/intro/08-collections/</guid>
      <description>Как хранить не одно значение, а сразу много: списки с индексами и срезами, словари с ключами, множества для уникальности — с разбором типичных ошибок новичка и практикой.</description>
    </item>
    <item>
      <title>Стеки, очереди и деки</title>
      <link>https://courses.digitable.life/post/data-structures/04-stacks-queues-deques/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/04-stacks-queues-deques/</guid>
      <description>Как дисциплина доступа LIFO/FIFO превращается в кольцевые буферы, монотонные стеки, work-stealing деки и продакшн-очереди с backpressure</description>
    </item>
    <item>
      <title>Структуры данных: карта трека и как выбирать структуру под задачу</title>
      <link>https://courses.digitable.life/post/data-structures/00-overview/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/00-overview/</guid>
      <description>Обзорная статья трека: что такое структура данных как инженерный выбор, по каким осям структуры различаются, как выбирать под конкретный профиль нагрузки — и как устроен весь трек из пятнадцати статей.</description>
    </item>
    <item>
      <title>Хеш-таблицы: хеш-функции, коллизии, открытая адресация</title>
      <link>https://courses.digitable.life/post/data-structures/05-hash-tables/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/data-structures/05-hash-tables/</guid>
      <description>Как из массива и одной функции получается словарь с O(1) доступом: устройство хеш-функций, разрешение коллизий цепочками и открытой адресацией, load factor и рехеширование, Robin Hood и SwissTable, HashDoS и типичные ошибки.</description>
    </item>
    <item>
      <title>Что такое алгоритм и сложность: интуиция Big-O для всех</title>
      <link>https://courses.digitable.life/post/computer-science/10-algorithms-and-complexity/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/computer-science/10-algorithms-and-complexity/</guid>
      <description>Алгоритм как точный рецепт, а сложность как язык, на котором мы говорим о его цене: почему считают не секунды, а рост числа операций, что на самом деле значит O(n log n) и где эта удобная абстракция протекает на настоящем железе.</description>
    </item>
  </channel>
</rss>
