01.什麼是數據結構?(ADT)

數據結構:相互之間存在一種或多種特定關係的數據元素的集合

程序設計=數據結構+算法

1.1數據

  • 數據:描述客觀事物的符號。包括:數值類型(整型等)、非數值類型(字符、聲音、圖像、視頻等)。數據是數據元素的集合
    • 例如:人類、禽類
  • 數據對象:性質相同的數據元素的集合,是數據的子集。將數據對象簡稱爲數據
  • 數據元素:是組成數據的、有一定意義的基本單位。數據元素是數據結構中建立數據模型的着眼點
    • 例如:組成人類的人、禽類的牛、羊等
  • 數據項:一個數據元素由若干個數據項組成。數據的最小單位。
    • 例如:眼睛、鼻子等

在這裏插入圖片描述

1.2邏輯結構與物理結構

  • 邏輯結構(面向問題):數據對象中數據元素(結點)之間的相互關係(邊):

    • 集合結構、線性結構(一對一的關係)、樹形結構(一對多的層次關係)、圖形結構(多對多的關係。
  • 物理結構(面向計算機):指數據的邏輯結構在計算機中的存儲形式(將數據及其邏輯關係存儲到計算機內存中)

    • 數據的存儲結構應正確反映數據元素之間的邏輯關係。
    • 如何存儲數據元素之間的邏輯關係?
    • 順序存儲結構:將數據元素存放在地址連續的存儲單元裏,其數據間的邏輯關係和物理關係是一致的。
    • 鏈式存儲結構:將數據元素存放在任意的存儲單元裏,數據元素的存儲關係並不能反映其邏輯關係,因此需要用一個指針存放數據元素的地址,這樣通過地址就可以找到相關聯數據元素的位置。數據存在哪裏不重要,只要有一個指針存放了相應的地址就能找到它

1.3抽象數據類型(ADT)

  • 類型:就是用來說明變量或者表達式的取值範圍和所能進行的操作。

  • 數據類型:一組性質相同的值的集合及定義在此集合上的一些操作的總稱。

  • ADT:指一個數學模型及其定義在該模型上的一組操作。ADT的定義僅取決於它的一組邏輯特性,而與其在計算機內部如何表示和實現無關。

    • 一個ADT定義了:一個數據對象、數據對象中各元素之間的關係及對數據元素的操作
    • 例如:定義一個point的ADT,它有x、y、z三個整型變量,這樣就能很方便的操作一個point數據變量就能知道這一點的座標了。
  • ADT體現了程序設計中問題的分解、抽象和信息隱藏的特性。

    抽象數據類型把實際生活中的問題分解爲多個規模小且容易處理的問題,然後建立一個計算機能處理的數據模型,並把每個*功能模塊**的實現細節作爲一個獨立的單元,從而使具體實現過程隱藏起來。

ADT 抽象數據類型名

Data 
	數據元素之間邏輯關係的定義
Operation
	操作1
		初始條件
		操作結果描述
	操作2
		...
	操作n
		...
endADT
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章