查看“︁比較計數排序”︁的源代码
←
比較計數排序
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{NoteTA |G1=IT }} {{算法信息框 |class=[[排序算法]] |image= |data=[[数组]] |time=<math>O(n^2)</math> |best-time=<math>O(n^2)</math> |average-time=<math>O(n^2)</math> |space=<math>O(n^2)</math> |optimal= }} '''比較计数排序'''({{lang-en|Comparison Counting Sort}})<ref>Knuth, The Art of Computer Programming, 5.2.</ref>是一种稳定的[[线性时间]][[排序算法]],此種演算法時間複雜度雖然是平方時間,但它是擁有較強抗干擾能力和穩固性的排序演算法<ref>The winner of that particular honor: Dave Ackley, personal interview, Novermber 26, 2013。</ref>。 ==比較计数排序的特征== 此種演算法把每個項目與其它項目作比較,計數出每個項目大於(或小於)它的項目個數,此數字及可當作各個項目排序的基準值。此種演算法與[[泡沫排序]]一樣時間複雜度都是平方時間,不受傳統電腦科學青睞,但容錯率超群<ref>ALGORITHMS TOLIVE BY The Computer Science of Human Decisions: Brian Christian, Tom Griffiths。</ref>。 ==Python 2.7 實现== <syntaxhighlight lang=python> def compare_counter_sort(l): C = [] for i in l: count = 0 for j in l: if j < i: count += 1 while(count in C): count += 1 C.append(count) return [l[C.index(i)] for i in xrange(len(l))] if __name__ == '__main__': print compare_counter_sort([4, 5, 1, 2, 5, 6, 5, 5, 5, 1]) </syntaxhighlight> ==参考资料== {{reflist}} {{排序算法表}} [[Category:排序算法]]
该页面使用的模板:
Template:Infobox
(
查看源代码
)
Template:Lang-en
(
查看源代码
)
Template:NoteTA
(
查看源代码
)
Template:Reflist
(
查看源代码
)
Template:排序算法表
(
查看源代码
)
Template:算法信息框
(
查看源代码
)
返回
比較計數排序
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息