Блог пользователя nns2009

Автор nns2009, история, 21 месяц назад, перевод, По-русски

(так как у меня нет подписчиков, этот пост, вероятно, просмотрит мало людей, так что если ты наткнёшься на него спустя месяцы/годы — да, ещё актуально)

Я ищу классные алгоритмы или структуры данных, которые любопытны, хитроумны и интересны, но при этом не запредельно сложны, так чтобы их можно было заново пере-изобрести самому при решении какой-то задачи.

Мои текущие знания для контекста

Пере-открыл сам:

(вещи, которые я придумал до того, как прочитал/был-ознакомлен о них)

  • Полиномиальные хэши строк
  • Выпуклая оболочка
  • Персистентные структуры данных, такие как деревья (благодаря знакомству с функциональным программированием, иммутабельностью и т.п.)
  • Min-span tree графа

Хорошо знаю:

  • Различные графовые алгоритмы
  • Различные деревья
  • Дерево отрезков
  • Префиксная функция, Алгоритм Ахо-Корасик
  • Динамическое программирование
  • Система непересекающихся множеств
  • Парсинг с помощью рекурсии

Помню в общих деталях:

  • Суффиксный массив

Запрогал хотя бы раз, но не разбирался глубоко и забыл:

  • Min/max поток графа
  • Суффиксный автомат
  • Структура данных, подобная дереву отрезков, которая может выполнять только часть операций, но имеет меньшую константу и меньшее потребление памяти (не помню название)

Это не полный список того, что я знаю, но, надеюсь, он даёт общее представление, что я, скорее всего, не знаю, и что мне покажется интересным.

В идеале ищу:

  • Ссылки на задач(у/и) CodeForces
  • Название алгоритма/структуры данных, необходимой для её решения (информация, которую я постараюсь не использовать/гуглить, прежде чем решить самостоятельно)
  • Ориентировочная сложность пере-изобретения данного алгоритма и решения соответствующей задач(и)

Полный текст и комментарии »

  • Проголосовать: нравится
  • +32
  • Проголосовать: не нравится