我想知道排序一長串字符串與時間和空間效率的最佳方法。我更喜歡時間效率而非空間效率。最好的方法來排序一長串字符串
字符串可以是數字,字母,字母數字等。我不喜歡排序行爲像字母數字排序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