回 帖 发 新 帖 刷新版面

主题:请教一个排序算法的问题

问题内容如下:
给定约10,00,000个长度约为10个字符的字符串,若字符在字符串中的分布是均匀的,给出一个字符串排序的方法,使得排序程序的性能最好,并说明原因。

小弟实在是没辄啊,想了半天也不知道该如何下手。请高手们帮帮忙,讲讲思路也可以啊。
谢谢。

回复列表 (共1个回复)

沙发

我觉得使用分配排序法即可。因为该排序算法的时间复杂度为O(d*(n+r)),其中d=10(字符串的最大长度), r=256(字符集中字符的个数),所以对于本题来说复杂度约为1000000*10=10^7

如果用快速排序法,则为O(n*log2(n)*d),其中d为字符串的最大长度。对于本题来说复杂度为1000000*log2(1000000)*10 = 2*10^8

我来回复

您尚未登录,请登录后再回复。点此登录或注册