为什么对字符串进行排序的时间复杂度是O(n log n)?对字符串中的字符进行排序并不一定是O(n log n)。O(n log n)是比较排序的最优值。它也是许多语言默认排序实现的复杂度。然而,肯定有比这更差的情况。对字符串中的字符进行排序的复杂度取决于您选择的解决此任务的具体算法。在某些情况下,可以通过使用非比较排序算法来获得比O(n log n)更好的性能。例如,如果您知道字符串是ASCII字符串,最多有127个不同的字符,您可以使用计数排序,其时间复杂度为O(n)。对于所有字符都在基本多语言平面的Unicode字符串,计数排序也是可行的。
可以通过搜索引擎找到关于Big O的定义和一些例子,例如在这里: http://en.wikipedia.org/wiki/Big_O_notation 关于基于比较元素的排序算法的解释,以及所需比较次数下限的解释,可以在这里找到: http://en.wikipedia.org/wiki/Comparison_sort