什麼是Python演算法?分為哪幾類?

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

  瞭解過Python的人,應該都聽說過Python演算法,但對其種類及定義卻不是很清楚,那麼你知道什麼是演算法嗎?Python演算法有哪幾類呢?我們透過這篇文章來了解一下。

  什麼是演算法?

  演算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。簡單來講,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。

  Python演算法有哪幾類?

  1. 選擇排序演算法:選擇排序是一種簡單直觀的排序演算法。原理:首先在未排序序列中找到最小或最大元素,存放到排序序列的起始位置;然後,再從剩餘未排序元素中繼續尋找最大最小元素,然後放到已排序序列的後面,以此類推直到所有元素均排序完畢。

  2. 快速排序演算法:快速排序的執行速度快於選擇排序。原理:設要排序的陣列為N,首先任意選取一個資料作為關鍵資料,然後將所有比它小的數放到它前面,所有比它大的數都放到它後面,這個過程稱之為快速排序。

  3. 二分查詢演算法:二分查詢的輸入是一個有序的列表,如果要查詢的元素包含在一個有序列表中,二分查詢可以返回其位置。

  4. 廣度優先搜尋演算法:屬於一種圖演算法,圖由節點和邊組成。一個節點可以與多個節點連線,這些節點稱為鄰居。它可以解決兩類問題:第一類是從節點A出發,在沒有前往節點B的路徑;第二類問題是從節點A出發,前往B節點的哪條路徑最短。使用廣度優先搜尋演算法的前提是圖的邊沒有權值,即該演算法只用於非加權圖中,如果圖的邊有權值的話就應該使用狄克斯特拉演算法來查詢最短路徑。

  5. 貪婪演算法:又叫做貪心演算法,對於沒有快速演算法的問題,就只能選擇近似演算法,貪婪演算法尋找區域性最優解,並企圖以這種方式獲得全域性最優解,它易於實現、執行速度快,是一種不錯的近似演算法。


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

相關文章