---算法是求解問題的步驟---算法
有窮性:一個算法必須在有窮步後結束,每一步必須在有窮時間內完成ide
---算法有窮而程序無窮---對象
肯定性:每條指令不能有歧義,即不管運行多少次,相同的輸入總能獲得相同的輸出blog
可行性:算法中描述的操做均可以經過已經實現的基本運算執行有限次實現數學
輸入it
輸出class
---回到上面的例子---效率
在step3中,因爲並無規定年齡相同的對象間的排列順序,致使算法的肯定性遭到破壞,所以,嚴格意義上其並非一個算法程序
再看一個簡單的類比,對於數學式 :
$$
y=f(x)
$$
其中:x其實就是輸入,y則表示輸出,而f()就是一個算法im
一個好的算法應該具有哪些特性?