1. 程式人生 > >冒泡排序為什麽最佳負責度為O(n)

冒泡排序為什麽最佳負責度為O(n)

圖片 com log 是個 研究 text style 後來 抓取

冒泡排序為什麽最佳負責度為O(n)

  俗話說,武功高強與否在於一個人的內功,真正高手之間的對決,都在於內功!程序員也一樣,要想進階,必須從基礎抓取,算法更是重中之重,於是最近在研究算法,先從排序練起。

  經常看見書上、博客上說冒泡排序最佳復雜度為O(n),可我看著代碼一直算的是O(n^2),代碼如下:

    技術分享圖片

  後來經過一番研究,發現原來我寫的冒泡排序只是個基本的demo,復雜度始終是O(n^2),後來經過了一些優化,發現最佳復雜度能達到O(N),代碼如下:

    技術分享圖片

  當傳進去的數組為正序時,會執行技術分享圖片

  這樣,第一層循環只執行了1次,所以復雜度為O(N)。

  在此做下記錄,希望能幫助有此有疑問的同學。

,

冒泡排序為什麽最佳負責度為O(n)