原文:猴子排序的期望復雜度推導(霧)

眾所周知,猴子排序打破了排序算法 O n log n 的桎梏 霧 ,具體的話,顯然最好情況一次成功就是 O n ,最壞情況那就 O infty 了。期望是多少呢 讓我來推導一番 逃 。 首先,設序列長度為 n ,每次打亂序列和檢測是否有序為 O n ,每次成功的概率為 frac n 全排列共 n 種 ,失敗的概率為 frac n 。我們令 X 為排序成功所需的打亂次數,則 P X k P 成功 ...

2017-09-24 23:09 5 2082 推薦指數:

查看詳情

快速排序期望復雜度O(nlogn)證明。

快速排序的最優時間復雜度是 \(O(nlogn)\),最差時間復雜度是 \(O(n^2)\),期望時間復雜度是 \(O(nlogn)\)。 這里我們證明一下快排的期望時間復雜度。 設 \(T(n)\) 為對長度為 \(n\) 的序列進行快速排序所需要的期望時間。我們有: $$T ...

Fri Aug 31 22:55:00 CST 2018 0 2806
快速排序的時間復雜度nlogn是如何推導的??

本文以快速排序為例,推導了快排的時間復雜度nlogn是如何得來的,其它算法與其類似。 對數據Data = { x1, x2... xn }: T(n)是QuickSort(n)消耗的時間; P(n)是Partition(n)消耗的時間; (注:Partition專指把n個數據分為大小2份 ...

Wed Jul 17 03:03:00 CST 2013 0 4719
歸並排序時間復雜度推導

眾所周知,歸並排序的時間復雜度是O(N*lgN) 歸並排序的時間復雜度推導書上網上一抓一把,但是多數證明都是基於N=2k這個假設來證明的,下面我給出一般情況的證明。 先上歸並排序代碼: 根據代碼可以看出,時間消耗主要在我標紅的3個地方,可以得出: 我們知道每一個整數都可以 ...

Thu Mar 23 00:36:00 CST 2017 0 11954
快速排序的時間復雜度期望比較次數

眾所周知,快速排序的時間復雜度為\(O(n\text{lg}n)\)。雖然對此很容易直觀理解,但由於算法的隨機特性,這一時間復雜度的嚴格證明並非顯然的。我將在這里說明如何計算快速排序運行過程中的比較次數的期望,以此得到對時間復雜度的較為嚴謹的證明。 定義\(E(n)\)為對長度為\(n ...

Sun Mar 14 07:41:00 CST 2021 0 632
快速排序,冒泡排序時間復雜度推導

快速排序時間復雜度分析:數組長度為n1,平均復雜度:t(n) = cn + 2t(n/2)= cn + 2(cn/2 + 2t(n/4)) = 2cn + 4t(n/4)= 2cn + 4(cn/4 + 2t(n/8)) = 3cn + 8t(n/8)= icn + 2^i * t(n/(2^i ...

Fri Aug 17 19:16:00 CST 2018 0 2528
排序復雜度分析

排序的時間復雜度分析 插入排序——直接插入排序 在最好的情況下,序列已經是有序的,每次插入元素最多只需要與有序表中最后一個元素進行比較,時間復雜度為O(n)。在最壞的情況下,每次插入元素需要與前面所有的元素進行比較,時間復雜度為O(n2),平均時間復雜度為O(n2)。 代碼 ...

Fri Oct 26 01:58:00 CST 2018 0 718
各種排序和查找復雜度

排序方法 平均情況 最好情況 最壞情況 輔助空間 穩定性 冒泡排序 O(n^2) O(n) O(n^2) O ...

Mon Mar 14 22:41:00 CST 2016 0 2699
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM