「資料結構」是研究各種資料的特性以及資料之間存在的關係,進而根據實際應用的要求,合理地組織和儲存資料,設計出相應的演算法。
資料是對客觀事物的符號表示,
資料的邏輯結構:資料元素與資料元素之間的邏輯關係。可以分為四類基本結構:
資料的邏輯結構可以用以下的二元組來表示:
s=(d,r)
其中,d是資料節點的有限集合,r是d上的關係的有限集合,其中每個關係都是從d到d的關係。
例如:
s = (d,r)
d =
r =
r =
說明:
- 尖括號表示有向
關係,例如,表示a→b
- 圓括號表示無向
關係,例如(a,b)
,表示a→b,b→a
-前驅結點
:
資料在計算機中的儲存表示稱為資料的儲存結構,又稱物理結構。
資料儲存到計算機中即要求儲存各節點的數值
,又要儲存結點與結點之間的邏輯關係
。
以下介紹四種基本的儲存結構:順序儲存、鏈式儲存、索引儲存、雜湊儲存。
1、順序儲存結構
順序儲存結構是把邏輯上相鄰的元素儲存在一組連續的儲存單元中,其元素之間的邏輯關係由儲存單元位址
間的關係隱含表示。
優點:節省儲存空間,只需要儲存資料結點,並不需要儲存結點的邏輯關係。
缺點:不便於修改,插入和刪除某個結點需要修改一系列的結點。
2、鏈式儲存結構
鏈式儲存結構,給每個結點增加指標字段,用於存放臨近結點的儲存位址,每個結點占用兩個連續的儲存單元,乙個存放資料,乙個存放臨近結點(前驅/後繼結點)的位址。
優點:便於修改,修改時只需要修改結點的指標字段,不需要移動其他結點。
缺點:占用儲存空間,因為需要儲存結點之間的邏輯關係。因為結點之間不一定相鄰,因此不能對結點進行隨機訪問。
3、索引儲存結構
優點:可以快速查詢,可以隨機訪問,方便修改。
缺點:建立索引表增加了時間和空間的開銷。
4、雜湊儲存結構
雜湊儲存結構是根據結點的值確定結點的儲存位址。以結點作為自變數,通過雜湊函式算出結果i,再把i作為結點的儲存位址。
優點:查詢速度快,適用於快速查詢和插入的場景。
缺點:只存結點資料,不存結點之間的關係。
資料的運算就是施加於資料的操作,例如對一張表進行增刪改查操作,一般資料結構中的運算除了加減乘除外還會涉及演算法問題
。
按某種邏輯關係
組成的資料元素,按一定的儲存方式
儲存於計算機中,並在其上定義了乙個運算
的集合,稱為乙個資料結構
。
資料結構 = 資料的邏輯結構 + 資料的儲存結構 + 資料的運算(演算法)
資料型別
是程式語言中對資料結構的實現,資料型別明顯或隱含地規定了資料的取值範圍、儲存方式及允許進行的運算。
常用的資料型別:
基本資料型別
指標型別
陣列型別
結構體型別
組合體型別
自定義型別
演算法是對特定問題求解步驟的描述,是指令的有限序列,每條指令包含乙個或多個操作。
特點:輸入語句
輸出語句
賦值語句
條件語句
迴圈語句
返回語句(return)
定義函式語句
呼叫函式語句
演算法分析主要涉及時間複雜度
和空間複雜度
。一般情況我們討論時間複雜度。
用數量級o(f(n))表示演算法執行時間t(n)時,f(n)一般去簡單形式:
1 , lo
g2n,
n , nl
og2n
, n2 , n3
, 2n
。時間複雜度的關係如下:
o(
1 ) < o(lo
g2n) < o(
n ) < o(nl
og2n
) < o(n2
) < o(n3
) < o(2n
)
文章參考:
《資料結構教程》[清華大學出版社]
資料結構概述
1 資料 資料是資訊的的載體,是描述客觀事物的數 字元,以及所有能輸入到計算機中並被電腦程式識別和處理的符號的集合。資料大致可以分為 數值型資料 整數 浮點數 複數 雙精度數等 非數值型資料 字元 字串,以及文字 圖形 影象 語音等資料 2 資料結構 data structure 資料結構有兩個層次...
資料結構概述
還可以通過另乙個方面來看資料結構,那就是從它們的強項和弱項來看。在這裡用 的 方式來概述主要資料結構。下面的表顯示了不同資料結構的優缺點,大致給出它們的特性,就象從天空中鳥瞰地面的風景一樣。所以如果對其中的術語不太清楚的話,請不要太著急。陣列 插入快,如果知道下標 但查詢慢,刪除慢,大小固定 有序陣...
資料結構 概述
資料結構概述 定義 我們如何把現實中大量而複雜的問題以特定的資料型別和特定的儲存結構 儲存到主儲存器 記憶體 中,以及在此基礎上為實現某個功能 比如查詢 某個元素,刪除某個元素,對所有元素進行排序 而執行的相應操作,這 個相應的操作也叫演算法。資料結構 個體 個體的關係 演算法 對儲存資料的操作 演...