猴子排序算法

重点 (Top highlight)

I was spending a lot of time lately thinking about how I can improve my program’s sorting performance a little bit more. I was thinking:

最近,我花了很多时间思考如何才能提高程序的排序性能。 我刚在想:

Hey, there are sorting algorithms that have proven themselves well and that everyone knows, but there must be something we all are missing, maybe?

嘿,有一些排序算法已经很好地证明了自己,并且每个人都知道,但是一定有我们所有人都缺少的东西,也许吗?

Well, I found something and I wasn’t wrong. There was something that we didn’t know much about, though it wasn’t exactly what I was looking for.

好吧,我发现了一些东西,但我没看错。 尽管我并不是真正想要的东西,但我们并没有太多了解

I found a really slow sorting algorithm called Monkey Sort aka Bogosort.

我发现了一种非常慢的 排序算法,称为Monkey Sort aka Bogosort。

Monkey Sort is based on Infinite Monkey Theorem:

猴子排序基于无限猴子定理:

The infinite monkey theorem is a popular demonstration of the mathematical probability, stating a monkey hitting keys at random on a typewriter keyboard, given enough time and typewriters, will eventually reproduce the entire works of William Shakespeare.

无限猴子定理 是数学概率的流行示例,它说明猴子在打字机键盘上随机敲击键, 有足够的时间 和打字机,最终将重现威廉·莎士比亚的全部作品。

From Wikipedia:

从维基百科:

while not isInOrder(deck):    shuffle(deck)

Algorithm implemented in Java:

用Java实现的算法:

import static java.util.Collections.shuffle;public List<Integer> monkeySort(List<Integer> list) {    while (!list.equals(sortedList)) {        shuffle(list);    }    return list;}

We are shuffling the list until it’s sorted.

我们正在整理列表,直到对其进行排序。

Best scenario is O(N), if the list is already sorted. It’s not O(1) because it will take O(N) to find out the list is sorted.

如果列表已经排序 最好的情况是O(N)。 它不是O(1),因为它需要O(N)才能找到已排序的列表。

Worst scenario is O(∞) since this algorithm has no upper bound. But hey, even though it has no upper bound, it’s finite! We know it can’t be infinite from the infinite monkey theorem. We’ll get the result eventually. :)

最糟糕的情况是 O(∞),因为此算法没有上限。 UT斯达康哎,即使它没有上限, 它的有限的! E知道它不能从无限猴子定理是无限的 我们最终会得到结果。 :)

Thank you for reading! ❤️

感谢您的阅读! ❤️

翻译自: https://medium.com/swlh/monkey-sort-algorithm-1ac5f5b15de1

猴子排序算法


http://www.taodudu.cc/news/show-4121622.html

相关文章:

  • Android工具 - 随机测试(猴子)
  • 计蒜客习题:猴子打字
  • 养一只”无限猴子”帮你测试
  • LigaAI X 猴子无限 | AIGC 火了,专业设计者的福音来了!
  • 数据可视化④:大学生就业可视化呈现
  • 英雄连的制作公司THQ历史
  • 锐意创新,引领音视频未来
  • JAB详解
  • 变异凯撒
  • 数据科学入门前需要知道的10件事
  • java 自定义控件_自定义控件的开发
  • jabref java_Jabref安装及使用教程
  • Java模拟账户---关键字this
  • Windows Azure 成为业内首家被授权为 FedRAMP JAB P-ATO 的供应商
  • 疫苗接种 vaccine jab
  • 如何用opencv(C++)读入sar.tif图(复数矩阵)(radasat2)
  • MATLAB中对tif格式栅格影像读取-保存
  • C++文件服务器项目—FastCGI—4
  • tif格式文件用什么打开(如何打开怎么打开) tif是什么格式文件 ...
  • linux进程调度器,Linux进程调度器基础讲解
  • python找不到文件怎么办_python中open找不到文件怎么解决
  • 信息技术必修丨网络文件扩展名与文件储存格式
  • android tif浏览器,简单三步评测几款TIFF格式图片浏览器
  • 安卓pdf阅读器_推荐一款手机PDF阅读器、编辑器-xodo docs安卓版
  • 安卓pdf阅读器_推荐一款手机PDF阅读器、编辑器xodo docs安卓版
  • 基本谱减法降噪
  • 【记录】PR|一些使用技巧记录
  • dell服务器新bois系统设置u盘启动,跟大家讲讲dell新版biosU盘启动顺序
  • rd640 linux raid,联想服务器rd640如何设置raid 1
  • 回收戴尔R740 R740XD - CSDN

猴子排序算法_猴子排序-有史以来最慢的排序算法?相关推荐

  1. python猴子选大王_“猴子选大王” 算法 python实现

    今天来实现一个约瑟夫环算法,下面是一道新浪的面试题: m只猴子围坐成一个圈,按顺时针方向从1到m编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到n的猴子出局,再从刚出局猴子的下一个位置重新开始报 ...

  2. prim算法_最小生成树的本质是什么?Prim算法道破天机

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是算法和数据结构专题20篇文章,我们继续最小生成树算法,来把它说完. 在上一篇文章当中,我们主要学习了最小生成树的Kruskal算法.今 ...

  3. 一致性hash算法_(图文案例)一致性哈希算法详解 一点课堂(多岸教育)

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

  4. 两个矩阵是否相交的算法_刷透近200道数据结构与算法,成功加冕“题王”,挤进梦中的字节!...

    不管是学生还是已经工作的人,我想彼此都有一个相同的梦想:进大厂! 眼看着2020年还有个三十来天就要完美收尾了,那么如何才能在未来三个月弯道超车赶上"金三银四的春招",进入梦寐以求 ...

  5. apriori算法_挖掘频繁模式、关联和Apriori算法

    挖掘频繁模式.关联和Apriori算法 1. 引入 1.1 基本概念 频繁模式:频繁出现在数据集中的模式 频繁模式挖掘:获取到给定数据集中反复出现的联系 注:模式其实可以理解为,你在淘宝购物,你的购物 ...

  6. umap算法_生命科学中的 UMAP(降维算法)

    UMAP应该说是目前最好的降维算法了,能最大程度的保留原始数据的特征同时大幅度的降低特征维数. 这是<生命科学的数理统计和机器学习>的相关探讨,我试图介绍生物信息学.生物医学.遗传学等常见 ...

  7. 推荐系统算法_机器学习和推荐系统(二)推荐算法简介

    推荐算法简介 一. 基于人口统计学的推荐算法 二.基于内容的推荐算法 三. 基于协同过滤的推荐算法 协同过滤(Collaborative Filtering , CF) 基于近邻的系统过滤 基于用户( ...

  8. etc的常见算法_(转)8种常见机器学习算法比较

    机器学习算法太多了,分类.回归.聚类.推荐.图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验.通常最开始我们都会选择大家普遍认同的算法,诸如SV ...

  9. python50种算法_一文洞悉Python必备50种算法

    本文是一些机器人算法(特别是自动导航算法)的Python代码合集. 其主要特点有以下三点:选择了在实践中广泛应用的算法:依赖最少:容易阅读,容易理解每个算法的基本思想.希望阅读本文后能对你有所帮助. ...

  10. redis实现轮询算法_白话分布式系统中的一致性哈希算法

    本文首发于:白话分布式系统中的一致性哈希算法 微信公众号:后端技术指南针 持续输出干货 欢迎关注! 通过本文将了解到以下内容:分布式系统的概念和作用 分布式系统常用负责均衡策略 普通哈希取模策略优缺点 ...

最新文章

  1. 我下载的最新的linux ADT+eclipse中没有NDK
  2. Python读取保存在hdf5文件中的脑电数据
  3. 自动拆箱引发的空指针_02
  4. 判定重大风险有哪几种_安全风险识别和评估的方法有哪些?
  5. Nginx配置wss访问实现微信小程序的websocket通信
  6. airflow 部署
  7. 解决ubuntu下的firefox无法在线播放音频和视频的问题
  8. 【面试】场景 智力题
  9. 【渝粤教育】国家开放大学2018年春季 0692-21T化工设备机械基础 参考试题
  10. Floyd算法 C++实现
  11. 程序员相亲图鉴,太真实了!
  12. 一张表格分成两页打印_word一页内容怎么分成两页打印
  13. 药品名自动归类机器人(化药_中成药_中药材)
  14. [Mysql] STR_TO_DATE函数
  15. 魔兽世界地图插件制作代码
  16. 信息系统项目管理师——历年论文题目2012年-2020年
  17. xlp 开发环境在Ubuntu11.4中的建立
  18. XyplayerX4.0 影视解析源码+解析接口+安装步骤
  19. 1、计算机图形学——基础变换矩阵
  20. 计算机双屏竖屏桌面背景6,科技:使用这些双显示屏壁纸让你的桌面变得更加美观...

热门文章

  1. 天行健,君子以自强不息;地势坤,君子以厚德载物的权威解释
  2. Don't Starve:饥荒
  3. wei.getA()
  4. axios的并发请求和 排队请求
  5. HHUOJ 1001 汽水瓶 (水题)
  6. react中引入swiper详细教程 亲测没测出来
  7. MySQL ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
  8. 【论文阅读】Self-Knowledge Distillation with Progressive Refinement of Targets
  9. oracle failover mode,Oracle RAC FailOver配置
  10. 看代码,学strings包