Краткий обзор структур данных?

17

Статья Фишера за этот месяц напомнила мне, как мало я знаю об искусстве кратких структур данных и алгоритмах их использования.

Для тех, кто не знает о сжатых структурах данных:

Учитывая комбинаторную структуру, с (n) различными конфигурациями и известным «полезным» представлением . Существует ли «краткая» структура данных, которая занимает около битов, но позволяет нам выполнять операции так быстро, как мы можем с нормальным представлением ?р(N)Л.Г.(a(N))р

Лучшие из них меня интересуют, если кто-то хотел бы развлечь дискуссию

  1. Суффиксные массивы. Они являются подмножеством всех перестановок.

  2. Упорядоченные деревья. Они являются подмножеством всех двоичных строк в скобках (совпадающее разнообразие).

  3. Все ближайшие меньшие значения, как в статье ( 1 ). Вы можете не только сжать в обоих измерениях; допустимые массивы «меньшего значения» в одном направлении представляют собой небольшое подмножество списков , и, следовательно, вам необходимо хранить менее битов.{0,,,,,N-1}NNЛ.Г.(N)

Чад Brewbaker
источник

Ответы: