排序算法

来源:互联网 发布:军事网络的安全保护 编辑:程序博客网 时间:2024/05/17 06:11

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

地精排序及改进

[地精排序及改进]

奇偶排序

[奇偶排序]


大规模排序算法

[Google海量数据排序实验史 《History of massive-scale sorting experiments at Google | Google Cloud Big Data Blog — Google Cloud Platform》]

from:http://blog.csdn.net/pipisorry/article/details/50444694

ref: 8大排序算法图文讲解

[八大排序算法]


0 0
原创粉丝点击