之前基礎較差,現在從頭開始系統的學一遍數據結構。
1 什麼是數據結構
數據結構是相互之間存在一種或多種特定關係的數據元素的集合。
數據對象是具有相同性質的數據元素的集合,是數據的一個子集。
數據結構有三要素:
- 邏輯結構
- 物理結構(存儲結構)
- 數據運算
2 邏輯結構
邏輯結構就是數據元素之間的邏輯關係,而不關心他的實現。
數據的邏輯結構主要有以下四種,所以其實不是很多:
- 集合
- 線性結構
- 樹形結構
- 圖狀結構(網狀)
3 物理結構、存儲結構
存儲結構就是我們怎麼去實現邏輯結構,代碼怎麼實現。
存儲結構主要包含四種,其實也不多:
- 順序存儲,內存空間上是連續的。
- 鏈式存儲,藉助指針來連接兩個元素
- 索引存儲,存的地址
- 散列存儲,根據元素的關鍵字直接計算出該元素的存儲地址,哈希存儲。
索引存儲:
存儲結構會影響這些東西
- 存儲空間的分配方便程度
- 對數據的運算速度:這裏運算不是指加減乘除這種數學運算。指的是插入數據,刪除等這些操作。
4 數據類型
數據類型包括:數據和這個數據的操作
數據類型包括:
- 原子類型:其值不可再分
- 結構類型:可以分爲幾個部分,比如結構體。