- Python程序設計:基礎與實踐
- 殷錫亮 劉陽 張勝揚
- 553字
- 2024-01-31 18:21:30
2.2 計算機語言的精華:算法
算法(Algorithm)是指對解題方案的準確而完整的描述,是一系列用于解決問題的清晰指令,算法代表著用系統的方法描述解決問題的策略的機制。也就是說,算法能夠利用遵從一定規范的輸入,在有限時間內獲得所要求的輸出。算法中的指令描述的是一個計算過程,當其執行時能從初始狀態和初始輸入(可能為空的)開始,經過一系列有限而定義清晰的狀態,最終產生輸出并停止于一個終止狀態。一個狀態到另一個狀態的轉移不一定是確定的。
顯然,上述嚴謹的定義并不適用于初學者,尤其是沒有系統學習過算法導論的人。簡單地說,算法描述了一個過程,即如何完成一項特定的任務。而計算機語言的精華就在于此:使用不同的算法完成不同的任務。
比如,機器人SLAM(Simultaneous Localization And Mapping,即時定位與制圖)算法的流程可以大致表示為:
(1)每隔2s從獲取的圖像中提取視覺特征;
(2)判斷物體是否為障礙物;
(3)如果是障礙物,則選擇旋轉方向,尋找其他可行進路線;
(4)如果不是障礙物,則計算當前位置相對前一個點位的距離并存儲;
(5)機器人閉環行走一周回到原點后,將整個行走軌跡繪圖。
這個算法并不復雜,它由循環執行、順序執行以及判斷操作組成。再復雜的算法其實也是由這些基本操作構成的。因此,在之后的內容中將會介紹一些非常簡單的Python操作,就是這些非常簡單的操作最后構成了復雜的算法。
推薦閱讀
- Learning NServiceBus(Second Edition)
- Expert C++
- Python 深度學習
- Django開發從入門到實踐
- PostgreSQL 11從入門到精通(視頻教學版)
- 基于Swift語言的iOS App 商業實戰教程
- Unity&VR游戲美術設計實戰
- Raspberry Pi Robotic Blueprints
- 小程序從0到1:微信全棧工程師一本通
- 你真的會寫代碼嗎
- Modular Programming with JavaScript
- PHP Microservices
- ArcPy and ArcGIS(Second Edition)
- Learning ECMAScript 6
- Swift 2 Design Patterns