算法的概念:
? ? ??算法是解決問(wèn)題的步驟的描述。
算法的描述:
? ? ? 可以采用自然語(yǔ)言,程序流程圖,計(jì)算機(jī)程序描述算法。
? ? ? 以計(jì)算圓的周長(zhǎng)和面積為例
采用自然語(yǔ)言描述為:
1、開(kāi)始
2、輸入半徑R
3、周長(zhǎng)L = 2*3.14*R
4、面積S = 3.14 *R*R
5、輸出周長(zhǎng)L,面積S
6、結(jié)束
程序流程圖描述算法:

采用C++語(yǔ)言描述:
#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;?
}
算法的主要特點(diǎn):
可行性:整個(gè)問(wèn)題可以被分解為一個(gè)或多個(gè)步驟
確定性:每個(gè)步驟有確定的定義,不允許歧義、多義
有窮性:算法必須在指定步驟內(nèi)完成
輸入項(xiàng):一個(gè)算法有0個(gè)或多個(gè)輸入,0輸入時(shí)算法給定條件。
輸入項(xiàng):一個(gè)算法至少有1個(gè)或多個(gè)輸出
衡量算法的指標(biāo):
時(shí)間復(fù)雜度:解決問(wèn)題需要的時(shí)間長(zhǎng)短,是一個(gè)函數(shù)O(f(n))
空間復(fù)雜度:解決問(wèn)題需要用到的計(jì)算機(jī)內(nèi)存空間大小
算法相關(guān)的題目:
1.算法是指()
A.為解決問(wèn)題而編制的計(jì)算機(jī)程序
B.為解決問(wèn)題而采取的方法和步驟
C.為解決問(wèn)題而需要采用的計(jì)算機(jī)語(yǔ)言
D.為解決問(wèn)題而采用的計(jì)算方法
2.下面關(guān)于算法的錯(cuò)誤說(shuō)法是()
A.算法必須有輸出 ?
B.算法必須在計(jì)算機(jī)上用某種語(yǔ)言實(shí)現(xiàn)
C.算法不一定有輸入
D.算法必須在有限步執(zhí)行后能結(jié)束