Известны ли результаты, которые исключают существование «слишком хороших, чтобы быть правдивыми» структур данных?
Например: можно ли добавить функциональность и J o i n в структуру данных ведения заказа (см. Dietz and Sleator STOC '87 ) и при этом получить O ( 1 ) временных операций?
Или: можно ли реализовать упорядоченный набор с целочисленными ключами и временными операциями? Конечно, это по крайней мере так же сложно, как найти алгоритм линейного времени для сортировки целых чисел.
Было ли доказано, что ответ был отрицательным для любого из этих вопросов? Известны ли результаты нижней границы для любой естественной структуры данных?
Ответы:
Существует очень приятно говорить о динамических нижних оценках на графиках Михая Pătraşcu. В итоге (на стр. 20 слайдов) у нас есть нижние границы с точки зрения времени запроса и времени обновления t u (вставить ребро):TQ TU
Смотрите документ для деталей. Некоторые другие работы Михая тоже актуальны и хороши.
ОБНОВЛЕНИЕ: я обнаружил, что его кандидатская диссертация « Методы нижних границ для структур данных » дает нижние оценки для многих проблем центральной структуры данных, используя разработанные им методы. Это, безусловно, стоит прочитать.
источник
Ответ на любой из ваших вопросов зависит от модели вычислений. Например, на многих машинах умножение целых чисел обходится дороже, чем их добавление. Некоторые модели отражают это, а некоторые нет.
источник
В дополнение к тому, что вы упоминаете в своем вопросе, один классический пример использует тот факт, что целые числа не могут быть отсортированы с использованием сравнений быстрее, чемO ( n logн ) чтобы доказать несуществование надстроек.
Кроме того, весьма обычно использовать аргументы теории информации (например, сложность Колмогорова), чтобы доказать нижние оценки для структур данных.
источник