【发布时间】:2016-11-11 10:39:33
【问题描述】:
我一直在阅读《Cracking the Coding Interview》,对于作者对特定示例的解释,我有点困惑。在书中,作者解释说我们有一个字符串数组(这些数组是我编的,书上没有出现):
["abc", "a", "dcglkjsl"];
这个算法的第一个任务是对每个字符串进行排序,留下:
["abc","a","cdgjklls"];
然后对原始数组进行排序,如下所示:
["a", "abc", "cdgjklls"];
现在,作者继续对算法进行部分分析,得到O(a * s(log a + log s))的解,其中a是数组的长度,s是数组的长度最长的字符串。
为什么排序每个单独字符串的复杂度为 O(s log s)?我似乎无法解决这个问题。作者说这是一个明显的结论,但我不明白为什么。我觉得如果我理解了这个关键的信息,我将能够理解作者是如何得出上述最终解决方案的。
【问题讨论】:
标签: arrays string algorithm sorting