标签: performance algorithm sorting arraylist big-o
假设您有一个名单列表,S = {s1,s2 ... sn},并且您希望按字典顺序对它们进行排序。
您如何保证排序的运行时间为O(所有单词长度的总和)?
任何有用的技巧?
答案 0 :(得分:1)
一个简单的解决方案是使用MSD radix sort,假设一个恒定大小的字母表。读取算法描述时,将“数字”替换为“字符”。如果您当前正在处理位置 i ,则还需要丢弃小于 i 的字符串,否则您将无法获得所需的运行时。