<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>SubTree — База знаний и алгоритмы</title>
    <link>https://subtree.ru/theory</link>
    <description>Обучающие статьи, разборы алгоритмов, структур данных, дискретной математики и системного дизайна.</description>
    <language>ru</language>
    <atom:link href="https://subtree.ru/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Асимптотический анализ и нотация Big O: Полное руководство</title>
      <link>https://subtree.ru/theory/big-o-complexity</link>
      <guid isPermaLink="true">https://subtree.ru/theory/big-o-complexity</guid>
      <description><![CDATA[Фундаментальное руководство по оценке временной и пространственной сложности алгоритмов. От математических определений O, Ω, Θ, o, ω до иерархии классов сложности, амортизированного анализа, кеш-памяти процессора и практических правил олимпиадного программирования.]]></description>
      <category>Big O</category>
    </item>
    <item>
      <title>Алгоритмы сортировки и теоретическая граница $\Omega(N \log N)$</title>
      <link>https://subtree.ru/theory/sorting-algorithms-and-complexity</link>
      <guid isPermaLink="true">https://subtree.ru/theory/sorting-algorithms-and-complexity</guid>
      <description><![CDATA[Исчерпывающий разбор алгоритмов сортировки: Bubble Sort, Insertion Sort, Merge Sort, Quick Sort, Heap Sort. Математический вывод нижней границы сложности сортировок сравнением через дерево решений высоты h >= log2(N!).]]></description>
      <category>Сортировки</category>
    </item>
    <item>
      <title>Метод декомпозиции, Master Theorem и Задача о паре ближайших точек</title>
      <link>https://subtree.ru/theory/divide-and-conquer-and-master-theorem</link>
      <guid isPermaLink="true">https://subtree.ru/theory/divide-and-conquer-and-master-theorem</guid>
      <description><![CDATA[Парадигма «Разделяй и властвуй», формулировка и 3 случая Основной теоремы о рекуррентных соотношениях (Master Theorem), алгоритм поиска пары ближайших точек на плоскости за O(N log N).]]></description>
      <category>Divide and Conquer</category>
    </item>
    <item>
      <title>Амортизационный анализ: Групповой, Банковский и Метод потенциалов</title>
      <link>https://subtree.ru/theory/amortized-analysis</link>
      <guid isPermaLink="true">https://subtree.ru/theory/amortized-analysis</guid>
      <description><![CDATA[Глубокое изучение амортизационного анализа. Разбор 3 методов: агрегированный анализ, бухгалтерский учет (учет кредитов) и метод потенциальной функции Φ. Анализ динамического массива (std::vector) и двоичного счетчика.]]></description>
      <category>Амортизация</category>
    </item>
    <item>
      <title>Бинарный поиск: От поиска позиции вставки до поиска по ответу</title>
      <link>https://subtree.ru/theory/binary-search-variations</link>
      <guid isPermaLink="true">https://subtree.ru/theory/binary-search-variations</guid>
      <description><![CDATA[Все модификации двоичного поиска: lower_bound, upper_bound, проверка равенства, вещественный бинпоиск и метод поиска по ответу за O(log N).]]></description>
      <category>Бинарный поиск</category>
    </item>
    <item>
      <title>Жадные алгоритмы, Выбор процессов и Оптимальные коды Хаффмана</title>
      <link>https://subtree.ru/theory/greedy-algorithms-and-huffman</link>
      <guid isPermaLink="true">https://subtree.ru/theory/greedy-algorithms-and-huffman</guid>
      <description><![CDATA[Принцип жадного выбора и оптимальная подструктура. Задача о выборе непересекающихся отрезков (Activity Selection). Построение оптимального префиксного дерева Хаффмана через очередь с приоритетами за O(K log K).]]></description>
      <category>Жадные алгоритмы</category>
    </item>
    <item>
      <title>Динамическое программирование: Мемоизация, 0-1 Рюкзак и Перемножение матриц</title>
      <link>https://subtree.ru/theory/dynamic-programming-intro</link>
      <guid isPermaLink="true">https://subtree.ru/theory/dynamic-programming-intro</guid>
      <description><![CDATA[Полный разбор ДП: перекрывающиеся подзадачи, оптимальная подструктура, Top-Down vs Bottom-Up, задача о рюкзаке (0-1 Knapsack) и задача о расстановке скобок при перемножении цепочки матриц (Matrix Chain Multiplication).]]></description>
      <category>Динамическое программирование</category>
    </item>
    <item>
      <title>Строковые алгоритмы: Префикс-функция (КМП), Z-функция и Бойер-Мур</title>
      <link>https://subtree.ru/theory/string-algorithms-kmp-z-boyer-moore</link>
      <guid isPermaLink="true">https://subtree.ru/theory/string-algorithms-kmp-z-boyer-moore</guid>
      <description><![CDATA[Линейные алгоритмы поиска подстроки в строке: префикс-функция π, алгоритм Кнута-Морриса-Пратта, Z-функция и Z-блоки, алгоритм Бойера-Мура (правила плохого символа и хорошего суффикса, таблицы L, l, N), суффикс-автоматы.]]></description>
      <category>КМП</category>
    </item>
    <item>
      <title>Теория вычислений: Машина Тьюринга, Машина Поста, НАМ и Автоматы</title>
      <link>https://subtree.ru/theory/theoretical-computer-science-turing-post-markov</link>
      <guid isPermaLink="true">https://subtree.ru/theory/theoretical-computer-science-turing-post-markov</guid>
      <description><![CDATA[Фундаментальные абстрактные вычислительные модели: Машина Тьюринга, понятие Тьюринг-полноты, тезис Чёрча-Тьюринга, Машина Поста, Нормальные алгоритмы Маркова (НАМ), Детерминированные конечные автоматы (DFA) и разбор glob-шаблонов.]]></description>
      <category>Машина Тьюринга</category>
    </item>
    <item>
      <title>Структуры данных: АТД, Массивы, Связные списки, Стек и Очередь</title>
      <link>https://subtree.ru/theory/arrays-linked-lists-and-adt</link>
      <guid isPermaLink="true">https://subtree.ru/theory/arrays-linked-lists-and-adt</guid>
      <description><![CDATA[Смежные vs связные структуры данных. Односвязные, двусвязные и кольцевые списки. Стек (LIFO) и Очередь (FIFO). Вычислительная сложность базовых операций.]]></description>
      <category>Списки</category>
    </item>
    <item>
      <title>Хеш-таблицы: Хеш-функции, Разрешение коллизий и Универсальное хеширование</title>
      <link>https://subtree.ru/theory/hash-tables-internals</link>
      <guid isPermaLink="true">https://subtree.ru/theory/hash-tables-internals</guid>
      <description><![CDATA[Полное руководство по хеш-таблицам: метод цепочек (Chaining), открытая адресация (линейное, квадратичное пробирование, двойное хеширование), фактор загрузки α, первичная/вторичная кластеризация и универсальные семейства хеш-функций.]]></description>
      <category>Хеш-таблицы</category>
    </item>
    <item>
      <title>Двоичные деревья поиска (BST) и Красно-чёрные деревья (RBT)</title>
      <link>https://subtree.ru/theory/binary-search-trees-and-rbt</link>
      <guid isPermaLink="true">https://subtree.ru/theory/binary-search-trees-and-rbt</guid>
      <description><![CDATA[Операции на BST: поиск, вставка, удаление элемента (3 случая), поиск предшественника и преемника. Красно-чёрные деревья: 5 инвариантов, левые и правые повороты, балансировка и строгая гарантия высоты h <= 2 log2(N+1).]]></description>
      <category>BST</category>
    </item>
    <item>
      <title>Двоичная куча (Пирамида), Очередь с приоритетами и HeapSort</title>
      <link>https://subtree.ru/theory/heap-priority-queue</link>
      <guid isPermaLink="true">https://subtree.ru/theory/heap-priority-queue</guid>
      <description><![CDATA[Двоичная куча: представление в массиве, процедуры sift_up и sift_down (heapify), построение кучи Build-Heap за линейное время O(N), операции Extract-Max и Increase-Key, пирамидальная сортировка HeapSort.]]></description>
      <category>Куча</category>
    </item>
    <item>
      <title>Расширение структур данных: Дерево порядковой статистики, Интервальные деревья и B-деревья</title>
      <link>https://subtree.ru/theory/augmented-data-structures-order-statistic-and-interval-trees</link>
      <guid isPermaLink="true">https://subtree.ru/theory/augmented-data-structures-order-statistic-and-interval-trees</guid>
      <description><![CDATA[Методология расширения структур данных (CLRS). Дерево порядковой статистики (OS-Select, OS-Rank), интервальные деревья и трихотомия отрезков. Устройство B-деревьев: разбиение, слияние и поиск.]]></description>
      <category>B-дерево</category>
    </item>
    <item>
      <title>Графы: Представления, Обходы BFS/DFS, Топологическая сортировка и SCC</title>
      <link>https://subtree.ru/theory/graph-representations-and-traversals</link>
      <guid isPermaLink="true">https://subtree.ru/theory/graph-representations-and-traversals</guid>
      <description><![CDATA[Матрица смежности vs Списки смежности. BFS и поиск кратчайших путей. DFS: времена входа/выхода d[u]/f[u], классификация ребер, теорема о скобках, топологическая сортировка и алгоритм Косарайю для сильно связных компонент.]]></description>
      <category>Графы</category>
    </item>
    <item>
      <title>Минимальное остовное дерево (MST): Алгоритмы Крускала и Прима</title>
      <link>https://subtree.ru/theory/minimum-spanning-trees-kruskal-prim</link>
      <guid isPermaLink="true">https://subtree.ru/theory/minimum-spanning-trees-kruskal-prim</guid>
      <description><![CDATA[Лемма о безопасном ребре и правило разреза. Алгоритм Крускала со структурой DSU (СНМ) за O(E log V). Алгоритм Прима с очередью с приоритетами за O(E log V).]]></description>
      <category>MST</category>
    </item>
    <item>
      <title>Кратчайшие пути в графах: Дейкстра, Беллман-Форд и поиск в DAG</title>
      <link>https://subtree.ru/theory/shortest-paths-dijkstra-bellman-ford-dag</link>
      <guid isPermaLink="true">https://subtree.ru/theory/shortest-paths-dijkstra-bellman-ford-dag</guid>
      <description><![CDATA[Теория ослабления (релаксации) ребер и 6 фундаментальных свойств. Кратчайшие пути в DAG за O(V+E). Алгоритм Дейкстры с кучей за O((V+E) log V). Алгоритм Беллмана-Форда с детектированием отрицательных циклов.]]></description>
      <category>Дейкстра</category>
    </item>
    <item>
      <title>Система непересекающихся множеств (DSU / СНМ)</title>
      <link>https://subtree.ru/theory/disjoint-set-union-dsu</link>
      <guid isPermaLink="true">https://subtree.ru/theory/disjoint-set-union-dsu</guid>
      <description><![CDATA[Структура данных DSU с эвристиками сжатия путей и объединения по рангу. Амортизированное время работы O(α(N)), где α — обратная функция Аккермана.]]></description>
      <category>DSU</category>
    </item>
    <item>
      <title>Дерево отрезков: Построение, Запросы и Lazy Propagation</title>
      <link>https://subtree.ru/theory/segment-tree</link>
      <guid isPermaLink="true">https://subtree.ru/theory/segment-tree</guid>
      <description><![CDATA[Дерево отрезков для быстрых запросов на отрезке (Range Minimum/Sum Query) за O(log N) и массовых обновлений с отложенными операциями (Lazy Propagation).]]></description>
      <category>Segment Tree</category>
    </item>
    <item>
      <title>Префиксное дерево (Trie): Структура, Вставка и Поиск префиксов</title>
      <link>https://subtree.ru/theory/trie-prefix-tree</link>
      <guid isPermaLink="true">https://subtree.ru/theory/trie-prefix-tree</guid>
      <description><![CDATA[Устройство бора (Trie), операции вставки и поиска слова за O(L), применение в автодополнении, проверке орфографии и побитовом XOR-поиске.]]></description>
      <category>Trie</category>
    </item>
    <item>
      <title>Паттерны «Два указателя» и «Скользящее окно»</title>
      <link>https://subtree.ru/theory/two-pointers-and-sliding-window</link>
      <guid isPermaLink="true">https://subtree.ru/theory/two-pointers-and-sliding-window</guid>
      <description><![CDATA[Оптимизация квадратичных алгоритмов до линейного времени O(N). Решение задач 2Sum, 3Sum, Trapping Rain Water и Minimum Window Substring.]]></description>
      <category>Два указателя</category>
    </item>
    <item>
      <title>Комбинаторика: Сочетания, Перестановки и Включения-Исключения</title>
      <link>https://subtree.ru/theory/combinatorics</link>
      <guid isPermaLink="true">https://subtree.ru/theory/combinatorics</guid>
      <description><![CDATA[Формулы размещений и сочетаний C(n, k), модульный обратный элемент, формула включений-исключений (PIE) и числа Каталана.]]></description>
      <category>Комбинаторика</category>
    </item>
    <item>
      <title>Теория чисел и Модульная арифметика</title>
      <link>https://subtree.ru/theory/number-theory-and-modular-arithmetic</link>
      <guid isPermaLink="true">https://subtree.ru/theory/number-theory-and-modular-arithmetic</guid>
      <description><![CDATA[Алгоритм Евклида, расширенный НОД, линейное решето Эратосфена за O(N), бинарное возведение в степень binpow и малая теорема Ферма.]]></description>
      <category>Теория чисел</category>
    </item>
    <item>
      <title>Линейная алгебра: Матрицы, Векторы и Матричное возведение в степень</title>
      <link>https://subtree.ru/theory/linear-algebra-vectors-matrices</link>
      <guid isPermaLink="true">https://subtree.ru/theory/linear-algebra-vectors-matrices</guid>
      <description><![CDATA[Матричное умножение, возведение матрицы перехода в степень за O(K^3 log N) для ускорения линейных рекуррентностей, метод Гаусса и XOR Basis.]]></description>
      <category>Линейная алгебра</category>
    </item>
    <item>
      <title>Математический анализ: Производные, Градиенты и Оптимизация</title>
      <link>https://subtree.ru/theory/mathematical-analysis-gradients</link>
      <guid isPermaLink="true">https://subtree.ru/theory/mathematical-analysis-gradients</guid>
      <description><![CDATA[Математический анализ в CS и ML: градиентный спуск (SGD, Adam), матрица Гессе, метод множителей Лагранжа и выпуклая оптимизация.]]></description>
      <category>Мат. анализ</category>
    </item>
    <item>
      <title>Дискретная математика: Булева алгебра, Логика и Отношения</title>
      <link>https://subtree.ru/theory/discrete-math-graphs-logic</link>
      <guid isPermaLink="true">https://subtree.ru/theory/discrete-math-graphs-logic</guid>
      <description><![CDATA[Исчисление высказываний, нормальные формы (КНФ, ДНФ), 2-SAT за линейное время, бинарные отношения эквивалентности и частичного порядка.]]></description>
      <category>Дискретная математика</category>
    </item>
    <item>
      <title>Теория вероятностей: Случайные величины, Мат. ожидание и Марковские цепи</title>
      <link>https://subtree.ru/theory/probability-theory-markov-chains</link>
      <guid isPermaLink="true">https://subtree.ru/theory/probability-theory-markov-chains</guid>
      <description><![CDATA[Условная вероятность, теорема Байеса, линейность математического ожидания, неравенство Маркова и Чебышева, дискретные цепи Маркова.]]></description>
      <category>Вероятности</category>
    </item>
    <item>
      <title>Быстрое преобразование Фурье (FFT): Умножение многочленов за O(N log N)</title>
      <link>https://subtree.ru/theory/fast-fourier-transform-fft</link>
      <guid isPermaLink="true">https://subtree.ru/theory/fast-fourier-transform-fft</guid>
      <description><![CDATA[Комплексные корни из единицы, алгоритм Кули-Тьюки с битреверсивной перестановкой, перемножение полиномов и длинных чисел за O(N log N).]]></description>
      <category>FFT</category>
    </item>
    <item>
      <title>Архитектура памяти: Стек, Куча, Выравнивание и Кеш процессора</title>
      <link>https://subtree.ru/theory/memory-stack-and-heap</link>
      <guid isPermaLink="true">https://subtree.ru/theory/memory-stack-and-heap</guid>
      <description><![CDATA[Устройство виртуальной памяти, стековые фреймы, фрагментация кучи, аллокаторы памяти (jemalloc/ptmalloc), выравнивание структур данных и кеш-линии CPU L1/L2/L3.]]></description>
      <category>Память</category>
    </item>
    <item>
      <title>Системный дизайн: Паттерны кэширования, LRU/LFU и Балансировка нагрузки</title>
      <link>https://subtree.ru/theory/caching-and-load-balancing</link>
      <guid isPermaLink="true">https://subtree.ru/theory/caching-and-load-balancing</guid>
      <description><![CDATA[Архитектура высоконагруженных систем: Cache-Aside, Write-Through, Write-Behind, алгоритмы вытеснения LRU/LFU, Consistent Hashing и шардирование баз данных.]]></description>
      <category>Кэширование</category>
    </item>
    <item>
      <title>Математическая логика, индукция, перестановки, СЛАУ и матричные уравнения</title>
      <link>https://subtree.ru/theory/discrete-math-and-linear-algebra</link>
      <guid isPermaLink="true">https://subtree.ru/theory/discrete-math-and-linear-algebra</guid>
      <description><![CDATA[Математический аппарат: кванторы, операции и законы теории множеств, метод математической индукции, симметрическая группа Sn, метод Гаусса, ранг, определители и матричные уравнения.]]></description>
      <category>Дискретная математика</category>
    </item>
  </channel>
</rss>