Python演算法分為哪幾類?具備哪些特徵?

老男孩IT教育機構發表於2021-05-07

  演算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,而程式設計則是實現演算法的關鍵,那麼Python演算法有哪些?Python演算法應該具備哪些特徵呢?小編透過下文為大家介紹一下。

  Python演算法的特徵

  1. 有窮性:演算法的有窮性指演算法必須能在執行有限個步驟之後終止;

  2. 確切性:演算法的每一步驟必須有確切的定義;

  3. 輸入項:一個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件;

  4. 輸出項:一個演算法有一個或多個輸出,以反映對輸入資料加工後的結果,沒有輸出的演算法是毫無意義的;

  5. 可行性:演算法中執行的任何計算步驟都是可以被分解為基本的可執行操作步,即每個計算步都可以在有限時間內完成;

  6. 高效性:執行速度快、佔用資源少;

  7. 健壯性:資料響應正確。

  Python基礎演算法有哪些?

  1. 氣泡排序:是一種簡單直觀的排序演算法。重複地走訪過要排序的數列,一次比較兩個元素,如果順序錯誤就交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該排序已經完成。

  2. 插入排序:沒有氣泡排序和選擇排序那麼粗暴,其原理最容易理解,插入排序是一種最簡單直觀的排序演算法啊,它的工作原理是透過構建有序序列,對於未排序資料在已排序序列中從後向前排序,找到對應位置。

  3. 希爾排序:也被叫做遞減增量排序方法,是插入排序的改進版本。希爾排序是基於插入排序提出改進方法的排序演算法,先將整個待排序的記錄排序分割成為若干個子序列分別進行直接插入排序,待整個序列中的記錄基本有序時,再對全記錄進行依次直接插入排序。

  4. 歸併排序:是建立在歸併操作上的一種有效的排序演算法。該演算法是採用分治法Divide and的一個非常典型的應用。

  5. 快速排序:由東尼·霍爾所發展的一種排序演算法。又是一種分而治之思想在排序演算法上的典型應用,本質上快速排序應該算是氣泡排序基礎上的遞迴分治法。

  6. 堆排序:是指利用堆這種資料結構所設計的一種排序演算法。堆積是一個近似完全二叉樹的結構,並同時滿足堆積的性質,即子結點的鍵值或索引總是小於它的父結點。

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


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

相關文章