{{算法信息框
| image =
| class = 排序算法
| data = 数组
| time = O(\infin)
| average-time = O(n\cdot n!)期望的位置交换次数增长地比期望比较次数快,是因为只需要比较几对元素就能发现元素是无序的,但是随机地打乱顺序所需要的交换次数却与数据长度成比例。在最差的情况下,交换和比较次数都是无限的,这就像随机投掷硬币可能连续任意次正面向上。
最好的情况是所给的数据是已经排好序的,这种情况下不需要任何位置交换,而比较次数等于n-1。
对任何固定长度的数据,算法的预期运行时间像无限猴子定理一样是无限的:总有一些可能性让被正确排好序的序列出现。
相关算法
Bozo排序
Bozo排序是另一个基于随机数的算法。如果列表是无序的,就随机交换两个元素的位置再检查列表是否有序。
參見
- 暴力搜尋法
参考资料
外部連結
- [http://www.catb.org/~esr/jargon/html/B/bogo-sort.html Jargon File上的條目]
- [http://www.lysator.liu.se/~qha/bogosort/ Bogosort]: an implementation that runs on Unix-like systems, similar to the standard sort program.
- [https://archive.today/20130103015524/http://github.com/versesane/algorithms-and-data-structures-in-c/tree/master/bogosort.c Bogosort]: Simple C++ implementation of bogosort algorithm
评论 (0)