1. 程式人生 > >1.資料結構與演算法——緒論

1.資料結構與演算法——緒論

資料結構


邏輯結構

是指資料物件中資料元素之間的相互關係

  • 集合結構:資料元素出了同屬於一個集合外,他們之間沒有其他不三不四的關係
  • 線性結構:資料元素之間是一對一關係
  • 樹形結構:資料元素之間存愛一種一對多的層次關係
  • 圖形結構:元素是多對多的關係

物理結構

是指資料的邏輯結構在計算機中的儲存形式

  • 順序儲存:是把資料元素存放在地址連續的儲存單元裡,其資料間的邏輯結構和物理關係是一致的
  • 鏈式結構:是把資料來源存放在任意的儲存單元裡,需要一個指標存放資料元素的地址

演算法


要求

  • 正確性
    • 演算法的正確性是指演算法應該具有輸入、輸出和加工處理無歧義,能正確反映問題的需求、能夠得到問題的正確答案
    • 大體分為:
      • 沒有語法錯誤
      • 對合法輸入能夠產生滿足要求的輸出
      • 對非法輸入能夠產生滿足規格的說明
      • 對故意刁難的測試輸入都有滿足要求的輸出結果
  • 可讀性
    • 便於閱讀、理解交流
  • 健壯性
  • 當輸入不合法時,演算法也能做出相關處理,不能異常、崩潰或者莫名其妙的結果
  • 時間效率高
  • 儲存量低

效率的度量方法

  • 演算法採用的策略、方案
  • 編譯產生的程式碼質量
  • 機器執行指令的速度