資料結構課上筆記2
阿新 • • 發佈:2018-12-09
今天繼續說明了一些基本概念,講解了時間空間複雜度。
(對於概念的掌握也很最重要)
元素之間的關係在計算機中有兩種表示方法:順序映像和非順序映像,由此得到兩種不同的
儲存結構:順序儲存結構和鏈式儲存結構。
順序:根據元素在儲存器中的相對位置表示關係
鏈式:藉助指標表示關係
資料型別:是一個值的集合和定義在這個值集上的一組操作的總稱。
抽象資料型別:是指一個數學模型以及定義在該模型上的一組操作。(僅僅取決於邏輯特性,與其在計算機內部如何表示和實現無關)
定義抽象資料型別的一種格式:
ADT name{
資料物件:<>
資料關係:<>
基本操作:<>
}ADT name
演算法:是對特定問題求解步驟的一種描述。
演算法五個特性:
- 有窮性:有窮的時間內完成,或者可以說是可接受的時間完成
- 確定性:對於相同的輸入只能得到相同的輸出
- 可行性:描述的操作都可以執行基本操作有限次來實現
- 輸入:零個或多個輸入。取自於某個特定物件的集合
- 輸出:一個或多個輸出
設計要求:正確性、可讀性、健壯性、效率與低儲存量需求。
演算法效率度量:時間空間複雜度
這個,暑假講課的時候寫了總結,這裡就不再寫了吧。
老師上課是借氣泡排序來引入的這些知識,暑假寫了排序總結,結合排序來體會複雜度:
程式碼是以去年拿python寫的,不對的地方請指出
理解了這節課的概念應該就能看動態規劃入門了