我想知道排序一长串字符串与时间和空间效率的最佳方法。我更喜欢时间效率而非空间效率。最好的方法来排序一长串字符串
字符串可以是数字,字母,字母数字等。我不喜欢排序行为像字母数字排序v/s字母排序只是排序本身。
以下我可以想到的一些方法。
使用代码例如:.Net框架的Arrays.Sort()函数。我认为这样做的方式是计算字符串的哈希码,并使用二分搜索将字符串插入到适当的位置。
使用数据库(例如:MS-sql)。我没有这样做。我不知道这将是多么有效。
使用像trie这样的前缀树数据结构。排序需要使用DFS(深度优先搜索) - O(| V | + | E |)时间遍历树树的所有trie节点。 (搜索需要O(l)时间,其中l是要比较的字符串的长度)。
其他任何方式或数据结构?
在标签中放入什么语言 – 2010-06-18 20:55:16
正在寻找独立于语言的解决方案 – hIpPy 2010-06-18 21:09:40