- 演算法的定義:一個通過有限的步驟解決問題的序列
演算法的特點:1.輸入---------.>0個或0個以上輸入
2.輸出--------->至少一個輸出
3.有窮性------->演算法應該執行有窮步后結束,程式則不一樣,例如:開車時候,其 傳感器需要不斷的作業,汽車ECU(汽車電腦)不斷分析,
4.確定性------->執行的每一步都應該是確定的 (你說什么他才會干什么,不說清楚就 不干)
5.有效性------->每一步都應該是有用的(正常人不會去吃屎吧,因為你tm有食物
你還去吃,不會吧)

2.演算法的評價:
- 1 正確性
- 2 可讀性
- 3 健壯性(有一定的容錯性不然就直接程式奔潰了,
要有正確引導用戶的提醒)
- 4高效性 (時間和空間的犧牲)
3 演算法的效率度量
1 時間復雜度(重心)
2 空間復雜度(硬碟技術在不斷提高價格降低,已經不在乎了)

時間復雜度的表示法

回想高等數學中的極限發F(x)=5x+3 當x趨于無窮大時忽略系數5和常數3

例:

取最高陳述句的使用頻度本例中即第三行,內回圈的回圈體
矩陣就是下圖中的這樣,外回圈控制行內回圈控制列
每一行中都要回圈四次列,由上到下,實際記憶體是連續的這只是思考
的邏輯模型


空間復雜度
1,輸入輸出所占用的空間
2,程式本身所占用的空間
3,運行程序中的臨時輔助空間
原地作業:輔助空間為常量時
備注(時間,空間復雜度都是按最壞的情況來計算的,
即可能的最長時間,最長空間,就像早上上課只能早到,
而不能遲到要提前預留時間)

時間復雜度從左到右增大


結束

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287379.html
標籤:其他
