緒論
資料元素是資料的基本機關,通常作為一個整體進行考慮和處理。(來描述一個個體的具體資訊)
一個資料元素可由若幹個資料項組成,資料項是構成資料元素的不可分割的最小機關
資料對象是具有相同性質的資料元素的集合,是資料的一個子集。
資料結構是互相之間存在的一種或多種特定關系的資料元素的集合。
(強調資料元素之間的關系)

下圖:同一個資料對象裡的資料元素可以組成不同的資料結構
當然,不同的資料元素可以組成相同的資料結構
資料元素之間的邏輯關系:
定義一種資料結構
一、集合:(非考點)
非線性結構
各個資料元素同屬于同一個集合,沒有其他關系
二、線性結構:
線性結構
一對一關系
除了第一個元素,所有的元素都有唯一前驅;除了最後一個元素,其他元素都有唯一後繼
三、樹形結構:
非線性結構
一對多關系
四、 圖結構(網狀):
非線性結構
多對多關系
資料的運算:
針對某種邏輯結構,結合實際需求,定義基本運算
例如:對于線性結構的基本運算:
查找第i個資料元素
删除第i個資料元素
在第i個位置插入新的資料元素
......
資料元素的實體結構(存儲結構):
如何用計算機實作這種資料結構?
一、順序存儲
邏輯上相鄰的元素在實體位置上也相鄰的存儲單元中
二、鍊式存儲
邏輯上相鄰的元素在實體位置上可以不相鄰,借助訓示元素存儲位址的指針來表示元素之間的邏輯關系(通過指針表示下一個資料元素的存儲位址)
三、索引存儲
在存儲元素資訊的同時,還建立了附加的索引表。索引表記錄每一個資料元素的關鍵字以及各個資料元素存放在記憶體中的位置。索引表的形式一般是(關鍵字,位址)
四、散列存儲(哈希存儲)
根據元素的關鍵字直接激素拿出該元素的存儲位址
小結:
1.若采用順序存儲結構,則各個資料元素在實體上必須是連續的。若采用非順序存儲結構,則各個資料元素在實體上可以是離散的
2.資料的存儲結構會影響存儲空間配置設定的友善程度
3.資料的存儲結構會影響對資料運算的速度
4.運算的定義是針對邏輯結構的,指出運算的功能。
運算的實作是針對存儲結構的,指出運算的具體操作步驟
資料類型、抽象資料類型:
算法:
對特定問題求解步驟的一種描述,它是指令的有限序列,其中的每一條指令表示一個或多個操作