成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

長見識了!世界上最慢的排序算法!

開發 開發工具 算法
今天,和大家分享一個,世界上最慢的排序算法,猴子排序。之所以叫猴子排序,源自典故:一只猴子隨機敲擊鍵盤,只要時間足夠久,一定能敲出莎士比亞的詩。

今天,和大家分享一個,世界上最慢的排序算法,猴子排序(bogo sort)。

話不多說,先上偽代碼:

  1. int bogo_sort(int& arr[], int n){ 
  2.         while(false== is_sorted(arr[n])){ 
  3.                 random_shuffle(arr[n]); 
  4.         } 
  5.         return 0; 

之所以叫猴子排序,源自典故:一只猴子隨機敲擊鍵盤,只要時間足夠久,一定能敲出莎士比亞的詩。

看了偽代碼,很容易理解其核心思路是:

(1)判斷待排序的數組是否有序,有序則返回排序完畢;

(2)無序,則隨機打亂數組;

(3)重復(1);

只要執行的時間足夠長,隨機的次數足夠久,總能夠得到排序后的結果,它號稱是世界上最慢的排序算法。

那么問題來了,這個排序有什么用呢?

我能夠想到的,就是大學里作為算法課的時間復雜度推導習題,或者面試過程中時間復雜度計算考題了,又或者裝13的談資了,其他好像沒有什么用。

那這個排序算法的時間復雜度是多少呢?

簡單來分析一下。

n個元素隨機打亂,有n!種組合。

  • 一次排序成功的概率是p1 = 1/n!,一次排序失敗的概率是p2 = 1-p1;
  • 兩次排序成功的概率是p2*p1;畫外音:第1次失敗,第2次成功。
  • 三次排序成功的概率是p2^2*p1;畫外音:前2次失敗,第3次成功。
  • k次排序成功的概率是p2^(k-1)*p1畫外音:前k-1次失敗,第k次成功。

于是,平均排序成功次數的期望:

E(X) =1次 * 一次成功的概率+2次 * 二次成功的概率+3次 * 三次成功的概率+…+k次 * k次成功的概率+…

即:

最后,根據大家大學里學的無窮級數的數學知識,“很容易”得到,其時間復雜度是O(n*n!),這是一個階乘級別的算法。

【本文為51CTO專欄作者“58沈劍”原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文 

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-07-12 09:46:00

5G社會網絡

2018-11-06 12:22:18

排序算法代碼

2023-07-31 08:59:46

軟件FossilSQLite

2025-03-27 00:45:00

2024-05-28 09:17:57

2021-12-21 18:14:59

戴爾

2013-05-08 09:38:28

InteropNetSDN網絡設備供應商

2018-12-04 15:46:53

編程語言Python

2018-07-19 19:07:33

語言編程語言程序

2019-11-18 15:07:54

編程語言C#

2022-08-26 13:41:19

代碼PythonJava

2013-04-24 09:57:08

Excel微軟

2013-09-16 11:12:51

編程環境開發

2023-06-28 11:14:18

2010-09-02 13:21:46

2013-06-09 08:52:50

哈希表

2014-09-05 09:08:58

2024-07-01 09:23:39

2019-07-04 12:58:26

UI漢堡圖標設計師

2024-04-28 07:50:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区电影 | 天堂影院av| 国产精品三级 | 天天干夜夜拍 | 国产精品久久久久久久久久尿 | 午夜小视频在线播放 | 一区二区三区视频播放 | 成人在线 | 国产精品视频偷伦精品视频 | 国产精品综合一区二区 | 草久久免费视频 | 欧美精品第一页 | 九九热在线视频 | 四虎午夜剧场 | 一级a性色生活片久久毛片波多野 | 91免费电影 | 欧美一区免费在线观看 | www.国产| 精品一区二区三区四区五区 | 自拍偷拍在线视频 | 国产精品免费在线 | av一级久久 | 亚洲精品久久视频 | 蜜桃黄网| 国产成人一区二区三区精 | 日韩在线观看网站 | 亚洲欧美激情精品一区二区 | 国产成人高清视频 | www.嫩草 | 国产在线二区 | 91精品久久久久久久久99蜜臂 | wwwww在线观看| 日韩精品极品视频在线观看免费 | 久久高清免费视频 | 亚洲综合区 | 国产精久久久 | 免费在线看黄视频 | 国产精品成人一区二区三区 | 日日操视频 | 亚洲国产精品一区二区久久 | 久久国产精彩视频 |