資訊學奧賽系列教程:演算法和程式
阿新 • • 發佈:2019-01-09
演算法的概念:
演算法是解決問題的步驟的描述。
演算法的描述:
可以採用自然語言,程式流程圖,計算機程式描述演算法。
以計算圓的周長和麵積為例
採用自然語言描述為:
- 開始
- 輸入半徑R
- 周長L = 2*3.14*R
- 面積S = 3.14 *R*R
- 輸出周長L,面積S
- 結束
程式流程圖描述演算法:
採用C++語言描述:
#include <iostream> using namespace std; int main() { int R,L,S; cin>>R; L = 2* 3.14* R; S = 3.14 * R * R; cout<<L<<endl; cout<<S<<endl; return 0; }
演算法的主要特點:
- 可行性:整個問題可以被分解為一個或多個步驟
- 確定性:每個步驟有確定的定義,不允許歧義、多義
- 有窮性:演算法必須在指定步驟內完成
- 輸入項:一個演算法有0個或多個輸入,0輸入時演算法給定條件。
- 輸入項:一個演算法至少有1個或多個輸出
衡量演算法的指標:
- 時間複雜度:解決問題需要的時間長短,是一個函式O(f(n))
- 空間複雜度:解決問題需要用到的計算機記憶體空間大小
演算法相關的題目:
1.演算法是指()
A.為解決問題而編制的計算機程式
B.為解決問題而採取的方法和步驟
C.為解決問題而需要採用的計算機語言
D.為解決問題而採用的計算方法
2.下面關於演算法的錯誤說法是()
A.演算法必須有輸出
B.演算法必須在計算機上用某種語言實現
C.演算法不一定有輸入
D.演算法必須在有限步執行後能結束