一、資料結構入門
1.基本概念。
資料項:最小的資料單位。原子性
資料元素:資料的基本單位。
資料物件:資料元素的集合。
2.資料結構型別。資料結構=邏輯結構+儲存結構
2.1資料的邏輯結構
分類一:線性結構(線性表、棧、佇列、陣列)和非線性結構(樹、圖)。
分類二:集合結構(確定性、唯一性、無序性)、線性結構(一對一)、樹狀結構(一對多)、網路結構(多對多)。
2.2資料的儲存結構
順序儲存:陣列。查詢快,增刪慢,需要移動元素。
鏈式儲存:邏輯上相鄰,物理上不相鄰,資料+指標。增刪快,查詢慢。
2.3 邏輯結構是唯一的,一種邏輯結構可以有多種儲存結構實現。
運算的實現依賴於儲存結構。
二、演算法和複雜度簡介
1.演算法:輸入、輸出、可行性、有窮性、確定性。
評估演算法的優劣:時間複雜度和空間複雜度。
2.時間複雜度:問題的規模
時間頻度
時間複雜度:t(n) = o(f(n))。
3.空間複雜度
s(n) = o(g(n))
三、線性表
1.
資料結構和演算法
判斷乙個演算法的效率時,函式中的常數和其它次要項常常可以忽略,而更應該關注主項 最高項 的階數。演算法時間複雜度的定義 在進行演算法分析時,語句中的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t n 的數量級。演算法的時間複雜度,也就是演算法的時間量度,記作 t n ...
資料結構和演算法
程式是什麼?好多書上都寫著 程式 資料結構 演算法。可是怎麼去理解呢?好多程式設計人員對資料結構和演算法說不上熟悉,因為在他們所從事的工作中很少用到這些知識點。但並不表示他們不重要。還有一些人是這樣的想法 大公司才會注重這些知識點,小公司可能就不注重了。寫這篇文章之前我也是持這種想法的。但是,此時此...
資料結構和演算法
一 資料結構 1.概念 資料結構就是資料之間的結構關係,或者理解成資料元素之間存在的一種或者多種特定關係的集合,在傳統上資料結構分為邏輯結構與物理結構 1 邏輯結構 只反映資料元素之間的邏輯關係的資料結構,其中的邏輯關係是指資料元素之間的前後關係,而與他們在計算機中的儲存位置無關,有以下四類 集合結...