Я хотел бы знать, как лучше всего сортировать длинный список строк по эффективности времени и пространства. Я предпочитаю эффективность времени по сравнению с эффективностью пространства.Лучший способ сортировки длинного списка строк
Строки могут быть числовыми, альфа-, буквенно-цифровыми и т. Д. Меня не интересует поведение сортировки, такое как алфавитно-цифровая сортировка v/s.
Некоторые способы ниже, о которых я могу думать.
Использование кода ex: .Net Framework's Arrays.Sort(). Я думаю, что это работает, так это то, что хэш-коды для строк вычисляются, а строка вставляется в правильное положение, используя двоичный поиск.
Использование базы данных (например: MS-sql). Я этого не делал. Я не знаю, насколько это было бы эффективно.
Использование структуры данных дерева префиксов, таких как trie. Сортировка требует обхода всех trieNodes trie tree с использованием DFS (поиск глубины первого поиска) - O (| V | + | E |). (Поиск принимает O (l) время, где l - длина строки для сравнения).
Любые другие способы или структуры данных?
положить какой язык в тег –
ищет независимое от языка решение – hIpPy