http://blog.csdn.net/pipisorry/article/details/50444694
Bogo排序
在计算机科学中,Bogo排序原理等同将一堆卡片抛起,落在桌上后检查卡片是否已整齐排列好,若非就再抛一次。其名字源自Quantum bogodynamics,又称bozo sort或猴子排序。
原理:这是一个比较蛋碎的排序算法,将一堆卡片撒到地上,查看是否已排序好,若没有,捡起来再撒一次,直到有序情况出现.
维基百科:http://zh.wikipedia.org/wiki/Bogo%E6%8E%92%E5%BA%8F
有兴趣看看无限猴子定理:http://zh.wikipedia.org/wiki/%E7%84%A1%E9%99%90%E7%8C%B4%E5%AD%90%E5%AE%9A%E7%90%86。无限猴子定理的表述如下:让一只猴子在打字机上随机地按键,当按键时间达到无穷时,几乎必然能够打出任何给定的文字。
实现
#!/usr/bin/python# -*- coding:utf-8 -*-
import random
def is_order(l): #判断序列是否有序
for i in range(len(l)-1):
if l[i] > l[i+1]:
return False
return True
def bogo_sort(l):
while not is_order(l):
random.shuffle(l) #随机重排
print l
地精排序及改进
[地精排序及改进]
奇偶排序
[奇偶排序]
大规模排序算法
from:http://blog.csdn.net/pipisorry/article/details/50444694
ref: 8大排序算法图文讲解
[八大排序算法]