數據結構與算法之算法篇

什麼是算法?算法

算法是解決特定問題求解步驟的描述,在計算機中表現爲指令的有限序列,而且每條指令表示一個或多個操做。測試

簡單來講,就是咱們解決某一問題所使用的技巧和方法。spa

一個問題能夠由多個算法解決,一個算法也不可能具備通解全部問題的能力。設計

 

算法的特徵:io

  1. 輸入:算法具備零個或多個輸入;
  2. 輸出:算法至少有一個或多個輸出。(打印形式、返回一個或多個值)
  3. 有窮性:算法執行有限步驟以後,自動結束而不會無限循環,而且每個步驟在可接受的時間內完成。
  4. 肯定性:算法的每個步驟都具備肯定的含義,不會出現二義性。 算法在必定條件下,只有一條執行路徑,相同的輸入只能有惟一的輸出結果。
  5. 可行性:算法的每一步都必須是可行的,每一步都能經過執行有限次數完成。

 

算法設計的要求:效率

  一、正確性的四個層次;循環

    層次一:算法程序無語法錯誤;技巧

    層次二:算法程序對合法輸入可以產生知足要求的輸出;語法

    層次三:算法程序對於非法輸入可以產出知足要求的說明;程序

    層次三:算法程序對於故意刁難的測試輸入都能知足要求的輸出結果;

  二、可讀性;這裏所說的可讀性指的是,既要方便本身閱讀修改,又要便於他人閱讀用以溝通交流;

  三、健壯性;在遇到具備刁難性的輸入時,保持算法的功能;

  四、時間效率高和存儲量低;算法的最終目的就是追求儘量短的時間達成效果以及對於計算機的負擔儘量的低;

相關文章
相關標籤/搜索