小编Eli*_*ory的帖子

为什么"计数排序"不是一种更广泛使用的算法?

我正在绘制一些大型学术文件中的字母频率.作为此过程的一部分,是将这些文档的大量剪辑中的字母排序为字母顺序.我使用Python's内置的排序功能,我开始怀疑是否可以让它更快.然后我写了以下函数:

  def count_sort(l):
        items = {'a':0,'b':0,'c':0,'d':0,'e':0,'f':0,'g':0,'h':0,'i':0,'j':0,'k':0,'l':0,'m':
 0,'n':0,'o':0,'p':0,'q':0,'r':0,'s':0,'t':0,'u':0,'v':0,'w':0,'x':0,'y':0,'z'
:0}
        for item in l:
            items[item] += 1
        sort_l = []
        for key in items:
            sort_l += key*items[key]
        return sort_l
Run Code Online (Sandbox Code Playgroud)

当测试此代码与sorted上一个10000文本的字母的长字符串,它几乎20X快.

有了这样的性能提升,为什么这个排序算法不在标准中libs

python sorting algorithm python-2.7

1
推荐指数
1
解决办法
1054
查看次数

标签 统计

algorithm ×1

python ×1

python-2.7 ×1

sorting ×1