【演算法的樂趣】
前言:
聽到演算法的樂趣,大家是不 會想起《演算法的樂趣》這本書呢?這段時間在研究演算法,本篇部落格主要作為演算法的開篇,來和大家談談演算法!
核心:
百度定義:
演算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。
演算法的特徵:
有窮性:指演算法必須能在執行有限個步驟之後停止
確切性:演算法的每一步驟必須有確切的定義
輸出項:一個演算法有一個或者多個輸出
可行性:演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步驟,也稱為有效性。
方法:
遞推法
遞迴法
窮舉法
貪心法
動態規範法
分治法
這些方法在我們的演算法中用到了其思想。
生活中例子:
生活處處有演算法,從一個籃子裡面選擇一個最大的蘋果;排隊買票;玩撲克等等,這些都是演算法,三大基本演算法為:選擇、冒泡、插入;以後的演算法則是在這三個基礎上優化而來的!所以學習演算法從最基本的三大排序開始。
總結:
演算法的學習等著我們去探索,不斷學習!
相關文章
- 《演算法的樂趣》,快樂學習演算法,學習貼近生活的演算法演算法
- 製作遊戲的遊戲:創作樂趣的樂趣遊戲
- 推薦網站Project Euler:思考的樂趣&計算的樂趣網站Project
- 閱讀原始碼的樂趣原始碼
- 重拾 CSS 的樂趣(下)CSS
- 重拾 CSS 的樂趣(上)CSS
- 維護程式的那些樂趣
- 享受工具帶來的樂趣
- 樂趣在於思考
- 享受工作樂趣(轉)
- 三個水桶等分8升水的問題 -《演算法的樂趣》演算法
- 遊戲不應該只有樂趣遊戲
- 《演算法的樂趣》作者王曉華:“玩”過就是收穫(圖靈訪談)演算法圖靈
- 愛上數學的理由——評《思考的樂趣》
- Java我的三個月——OOP的樂趣 (轉)JavaOOP
- 手繪小插畫之思考的樂趣(1)
- 手繪小插畫之思考的樂趣(2)
- 多出來的50% Imagination——思考的樂趣
- 能從遠端獲得樂趣的 Linux 命令Linux
- 傳奇程式設計師Larry Wall:Perl的樂趣程式設計師
- 興趣愛好【演算法】演算法
- 遊戲設計:如何讓玩家獲得樂趣遊戲設計
- 遊戲,一個有樂趣的、解決問題的過程遊戲
- 走出浮躁的泥沼:學會享受學習過程的樂趣
- 郝培強(@Tinyfool):創造的樂趣(圖靈訪談)圖靈
- 手繪小插畫之思考的樂趣(未用小稿)
- 敲程式碼是件痛苦還是有樂趣的事?
- 傳奇程式設計師Larry Wall:Perl的樂趣 (轉)程式設計師
- 趣文:追MM的各種演算法演算法
- 音樂訊號分析演算法的樂理簡說(非音樂專業的樂理)演算法
- 終端中的樂趣:6個有趣的Linux命令列工具Linux命令列
- 數學也有數學的魅力 文科生讀《思考的樂趣》
- 擁有一個永遠無法實現的想法的樂趣
- C++之父:將工作視為一種樂趣C++
- 從OC和C#中找樂趣:相同又不同的delegateC#
- 開放出版:《思考的樂趣:matrix67數學筆記》筆記
- 虛擬交易模式阻礙普通玩家享受遊戲樂趣模式遊戲
- Polygon 年度遊戲之《巴巴是你》:解讀純粹的遊戲樂趣Go遊戲