【演算法的樂趣】

我是太陽啦啦啦發表於2017-08-06

前言:

聽到演算法的樂趣,大家是不 會想起《演算法的樂趣》這本書呢?這段時間在研究演算法,本篇部落格主要作為演算法的開篇,來和大家談談演算法!

核心:

百度定義:

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

演算法的特徵:

有窮性:指演算法必須能在執行有限個步驟之後停止

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

輸出項:一個演算法有一個或者多個輸出

可行性:演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步驟,也稱為有效性。

方法:

遞推法

遞迴法

窮舉法

貪心法

動態規範法

分治法

這些方法在我們的演算法中用到了其思想。

生活中例子:

生活處處有演算法,從一個籃子裡面選擇一個最大的蘋果;排隊買票;玩撲克等等,這些都是演算法,三大基本演算法為:選擇、冒泡、插入;以後的演算法則是在這三個基礎上優化而來的!所以學習演算法從最基本的三大排序開始。

總結:

演算法的學習等著我們去探索,不斷學習!


相關文章