Я пытаюсь создать необычный ассоциативный массив реализации, что является очень эффективным, но и мне нужен алгоритм сортировки, который удовлетворяет всем следующим:Стабильная, эффективная сортировка?
- Stable (не изменяет относительный порядок элементов с равные ключи.)
- на месте или почти на месте (O (не войти п) стек хорошо, но не O (N) использование пространства или кучи распределение.
- О (п войти п) временную сложность.
Также обратите внимание, что структура данных, подлежащая сортировке, является arra у.
Легко видеть, что существует базовый алгоритм, который соответствует любому из двух этих трех (вставки сортировки соответствуют 1 и 2, сортировка сортировки соответствует 1 и 3, сортировка кучи соответствует 2 и 3), но я не могу на всю жизнь я нахожу все, что соответствует всем трем из этих критериев.
Будут ли ваши данные иметь регулярные обновления? Если это так, то положить в один огромный массив - плохая идея. Рассмотрим структуру, которая может быть фрагментирована, например, B-дерево или веревка. – finnw 2008-10-04 14:35:19
Кажется странным быть довольным сложностью времени O (n log n), но иметь проблему с использованием пространства O (n). Не могли бы вы рассказать о своей фактической цели? есть риск, что вы попадаете в ловушку проблем XY. – mikera 2012-01-27 15:51:23