有几个排序只有英文维基说明,有几个有中文,但是压根对不上,例如臭皮匠排序…..晕死,查找中….
另外快排不敢轻易发出,等完全所有实现版本都搜罗分析完了再来.
排序>>交换排序>>地精排序
List:
1 2 |
0.概念(木有啥伪代码) 2.bogo排序实现 |
- start
这是一个比较蛋碎的排序算法…..囧
原理:将一堆卡片撒到地上,查看是否已排序好,若没有,捡起来再撒一次,直到有序情况出现.
维基百科: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
1.实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/usr/bin/python # -*- coding:utf-8 -*- #bogo排序 #@author: wklken@yeah.net 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 |