1.數據結構
- 數據結構是一門研究非數值計算的程序設計問題中的操做對象,以及它們之間的關係和操做等先關問題的學科;
- 簡單來講,程序設計 = 數據結構 + 算法;
- 再簡單的來講,數據結構就是數據元素相互之間存在的一種或多種特定關係的集合.
2.邏輯結構和物理結構
傳統上,咱們把數據結構分爲邏輯結構和物理結構.算法
- 邏輯結構: 是指數據對象中數據元素之間的相互關係,也是最須要關注的;
- 物理結構: 是指數據的邏輯結構在計算機中的存儲形式.
3.邏輯結構
邏輯結構包括集合結構、線性結構、樹形結構和圖形結構.編程
- 集合結構: 集合結構中的數據元素除了同屬於一個集合外,它們之間沒有其餘的關係;
- 線性結構: 線性結構中的數據元素之間是一對一的關係;
- 樹形結構: 樹形結構中的數據元素之間存在着一種一對多的層次關係;
- 圖形結構: 圖形結構的數據元素是多對多的關係.
4.物理結構
- 物理結構研究的是如何把數據元素儲存到計算機的儲存器中;
- 儲存器主要是針對內存而言的,像硬盤、軟盤、光盤等外部儲存器的數據組織一般用文件結構來描述.
5.數據元素存儲的存儲結構形式
數據元素存儲的存儲結構形式有順序存儲和鏈式存儲.數組
6.順序存儲結構
順序存儲結構是把數據元素存放在地址連續的存儲單元裏,其數據間的邏輯關係和物理關係是一致的.例如編程語言的數組結構就是順序存儲結構.數據結構
7.鏈式存儲結構
- 鏈式存儲結構是把數據元素存放在任意的存儲單元裏,這組存儲單元能夠是連續的,也能夠是不連續的;
- 面對時常須要變化的結構,順序結構是不科學的,就要用到鏈式存儲結構;
- 鏈式存儲結構的數據元素存儲關係並不能反映其邏輯關係,所以須要用指針存放數據元素的地址,經過地址找到相關聯數據元素的位置.