1. 程式人生 > >算法 (一) 概念

算法 (一) 概念

前言 輸出 輸入 學習 完成 語法 nbsp 基本操作 常數時間

前言

Algorithms + Data Structures = Programs  //N.Wirth 1976

雖然大一大二學了數據結構和很多算法,但是一到用的時候就經常想不起來...,而且明年就要考研了,為了能讓自己更系統的掌握,決定要全面的學習一下,為以後打好基礎!!!

一、概念

計算 = 信息處理 

借助某種工具,遵照一定規則,以明確而機械的形式進行

計算模型 = 計算機 = 信息處理工具

算法:即特定計算模型下,旨在解決特定問題的指令序列

二、特征

輸入:待處理的信息(問題)

輸出:經處理的信息(答案)

正確性:的確可以解決指定的問題

確定性:任一算法都可以描述為一個由基本操作組成的序列

可行性:每一基本操作都可實現,且在常數時間內完成

有窮性:對於任何輸入,經有窮次基本操作,都可以得到輸出

三、評定(算法的好壞)

正確:符合語法,能夠編譯、鏈接,並且能夠正確處理各種類型的輸入

健壯:能辨別不合法的輸入並做適當的處理,而不致非正常退出

可讀:結構化 + 準確命名 + 註釋 + ......

效率:速度盡可能快;存儲空間盡可能少

算法 (一) 概念