數據結構與演算法 第一章 數據結構緒論
- 2022 年 3 月 5 日
- 筆記
數據結構與演算法
第一章:數據結構緒論
1.1 數據結構
數據結構:是相互之間存在一種或多種特定關係的數據元素的集合。
數據結構是一門研究非數值計算的程式設計問題中的操作對象,以及他們之間的關係和操作等相關問題的學科
1.2 基本概念和術語
1.2.1 數據
數據:是描述客觀事物的符號,是電腦中可以操作的對象,是能被電腦識別,並輸入給電腦處理的符號集合.*數據不僅僅包括整型、實型等數值類型,還包括字元及聲音、影像、影片等非數值類型。
1.2.2 數據元素
數據元素:是組成數據的,有一定意義的基本單位,在電腦中通常作為整體處理,也被稱為記錄。
1.2.3 數據項
數據項:一個數據元素可以由若干個數據項組成。數據項是不可分割的最小單位
1.2.4 數據對象
數據對象:是性質相同的數據元素的集合,是數據的子集。
1.2.5 數據結構
結構:在現實生活中,不同數據元素之間不是獨立的,而是存在特定的關係,我們將這些關係稱為結構。
數據結構:是相互之間存在一種好多種特定關係的數據元素的集合。
1.3 邏輯結構與物理結構
1.3.1 邏輯結構
邏輯結構:是指數據對象中數據元素之間的相互關係。
1.集合結構
集合結構:結合結構中的數據元素除了同屬於一個集合外,他們之間沒有其他關係。 各個數據元素是「平等的」,他們的共同屬性是「同屬於一個集合」。
2.線性結構
線性結構:線性結構中的數據元素之間是一對一的關係。
3.樹形結構
樹形結構:樹形結構中的數據元素之間存在一種一對多的層次關係。
4.圖形結構
- 圖形結構:圖形結構的數據元素是多對多的關係。
在用示意圖表示數據的邏輯結構時,要注意兩點:
- 將每一個數據元素看做一個節點,用圓圈表示。
- 元素之間的邏輯關係用借點之間的連線表示,如果這個關係是有方向的,那麼用箭頭的連線表示。
1.3.2 物理結構
物理結構:是指數據的邏輯結構在電腦中的存儲形式。
數據的存儲結構性正確反應數據元素之間的邏輯關係
數據元素的存儲結構形式有兩種:順序存儲和鏈式存儲。
1.順序存儲結構
順序存儲結構:是把數據元素存放在地址連續的存儲單元里,其數據間的邏輯關係和物理關係是一致的。
鏈式存儲結構:是把數據元素存放在任意的存儲單元里,這組存儲但願可以是連續的,也可以是不連續的。
邏輯結構是面向問題的,而物理結構就是面向電腦的,其基本的目標就是將數據及其邏輯關係存儲到電腦的記憶體中。
1.4 數據類型
數據類型:是指一組性質相同的值的集合及定義再次集合上的一些操作的總稱
1.4.1 數據類型定義
原子類型:
是不可以在分解的基本類型,包括整型、實型、字元型等。
結構類型:
由若干個類型組合而成,是可以再分解的。例如,整型數組是由若干整型數據組成的。
抽象是指抽取出事物具有的普遍性的本質
1.4.2 抽象數據類型
抽象數據類型(Abstract Data Type, ADT):一個數學模型及定義在該模型上的一組操作。
一個抽象數據類型定義了:一個數據對象、數據對象中各數據元素之間的關係及對數據元素的操作。
抽象數據類型體現了程式設計中問題分解、抽象和資訊隱藏的特性。
描述抽象數據類型的標準格式
ADT 抽象數據類型名
Data
數據元素之間邏輯關係的定義
Operation
操作1
初始條件
操作結果描述
操作2
......
操作n
......
endADT
數據結構是相互之間存在一種或多種特定關係的數據元素的集合