按字典顺序排列名称列表

时间:2014-03-14 20:35:15

标签: performance algorithm sorting arraylist big-o

假设您有一个名单列表,S = {s1,s2 ... sn},并且您希望按字典顺序对它们进行排序。

您如何保证排序的运行时间为O(所有单词长度的总和)?

任何有用的技巧?

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案是使用MSD radix sort,假设一个恒定大小的字母表。读取算法描述时,将“数字”替换为“字符”。如果您当前正在处理位置 i ,则还需要丢弃小于 i 的字符串,否则您将无法获得所需的运行时。