Python語言的排序演算法有哪些?Python學習班!

老男孩IT教育機構發表於2021-02-23

  排序是每個軟體開發工程師都需要掌握的技能,包含Python工程師也是如此,那麼Python排序演算法有哪些?常見的排序演算法分為插入排序、希爾排序、選擇排序、氣泡排序、快速排序等,接下來跟著小編深入瞭解一下吧。

  氣泡排序

  是一種簡單直觀的排序演算法,重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成,這個演算法名字由來是因為越小的元素會經由交換慢慢浮到數列的頂端。

  插入排序

  它的原理應該是最容易理解的,因為只要打過牌的人都應該能夠秒懂。插入排序是一種最簡單直觀的排序演算法,它的工作原理是透過構建有序排序,對於未排序資料,在已排序序列中從後向前掃描,找到相應位置並插入。

  希爾排序

  也被稱為遞減增量排序演算法,是插入排序的一種更高效的改進版本,但希爾排序是非穩定排序演算法。希爾排序是基於插入排序的以下兩點性質而提出改進方法的:插入排序在對幾乎已經排好序的資料操作時,效率高,即可以達到線性排序的效率;但插入排序一般來說是低效的,因為插入排序每次只能將資料移動一位。

  歸併排序

  是建立在歸併操作上的一種有效的排序演算法,該演算法是採用分治法的一個非常典型的應用,作為一種典型的分而治之思想的演算法應用。

  快速排序

  快速排序是由東尼·霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 Ο(nlogn) 次比較。在最壞狀況下則需要 Ο(n2) 次比較,但這種狀況並不常見。事實上快速排序通常明顯比其他 Ο(nlogn) 演算法更快,因為它的內部迴圈可以在大部分的架構上很有效率地被實現出來。

  計數排序

  計數排序的核心在於將輸入的資料值轉化為鍵儲存在額外開闢的陣列空間中。作為一種線性時間複雜度的排序,計數排序要求輸入的資料必須是有確定範圍的整數。

  基數排序

  基數排序是一種非比較型整數排序演算法,其原理是將整數按位數切割成不同的數字,然後按每個位數分別比較。由於整數也可以表達字串和特定格式的浮點數,所以基數排序也不是隻能使用於整數。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2758583/,如需轉載,請註明出處,否則將追究法律責任。

相關文章