python实现Bogo排序算法,pythonbogo排序,Bogo算法定义下面是维
python实现Bogo排序算法,pythonbogo排序,Bogo算法定义下面是维
Bogo算法定义
下面是维基百科中Bogo算法定义:
在计算机科学中,Bogo排序(bogo-sort)是个既不实用又原始的排序算法,其原理等同将一堆卡片抛起,落在桌上后检查卡片是否已整齐排列好,若非就再抛一次。其名字源自Quantum bogodynamics,又称bozo sort、blort sort或猴子排序。
其实Bogo算法就是随机算法,给出一个序列,随机抽取序列中的元素,组成新的序列,如果序列为有序,则排序成功。
Bogo算法的Python实现
Bogo算法的平均时间复杂度是 O(n × n!),在最坏情况所需时间是无限。它并非一个稳定的算法。
from random import shufflefrom itertools import izip, teedef in_order(my_list): """Check if my_list is ordered""" it1, it2 = tee(my_list) it2.next() return all(a<=b for a,b in izip(it1, it2))def bogo_sort(my_list): """Bogo-sorts my_list in place.""" while not in_order(my_list): shuffle(my_list)
相关内容
- python set 使用介绍,pythonset,Set是简单对象的无需集
- python读写zip格式文件,python读写zip,Python自带模块zi
- python字符串str和字节数组相互转化,pythonstr,# bytes obj
- python使用正则表达式验证ip地址,python正则表达式,pyt
- webpy 实现301永久重定向的方法,webpy301重定向,webpy内置
- django做301,302重定向代码,django302,下面代码是django实
- python的问号表达式,python问号表达式,python中没有c语言
- Python实现将Html转换为UBB,pythonhtml转换ubb,python实现htm
- python使用PyPDF解析PDF文件,pythonpypdf解析pdf,pyPDF模块提供
- python 多进程使用Queue通信的例子,pythonqueue,如下代码:
评论关闭