合并排序时间复杂度推导
生活随笔
收集整理的這篇文章主要介紹了
合并排序时间复杂度推导
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
合并排序時間復雜度推導
算法演示
算法演示1
算法演示2
算法復雜度
Big O notation is a mathematical notation that describes the limiting behavior of a function
when the argument tends towards a particular value or infinity.
算法復雜度推導
顯然
f(1)=1f(1) = 1 f(1)=1
對于f(n),它的復雜度相當于合并兩個數量為n/2的排好序的子序列, 合并的工作量為n. 于是:
f(n)=2f(n2)+nf(n) = 2f(\frac{n}{2}) + n f(n)=2f(2n?)+n
f(n)=2(2f(n4)+n2)+n=4fn4+2n=...f(n) = 2(2f(\frac{n}{4}) + \frac{n}{2}) + n = 4f\frac{n}{4} + 2n = ... f(n)=2(2f(4n?)+2n?)+n=4f4n?+2n=...
f(n)=2log?2nf(1)+nlog?2nf(n) = 2^{\log_2{n}}f(1) + n\log_2{n} f(n)=2log2?nf(1)+nlog2?n
f(n)=2log?2n+nlog?2nf(n) = 2^{\log_2{n}} + n\log_2{n} f(n)=2log2?n+nlog2?n
參考
- https://math.hws.edu/eck/js/sorting/xSortLab.html
- https://en.wikipedia.org/wiki/Sorting_algorithm#Comparison_sorts
- https://en.wikipedia.org/wiki/Merge_sort
總結
以上是生活随笔為你收集整理的合并排序时间复杂度推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机指令格式哪几部分组成,计算机的指令
- 下一篇: css的常用选择器