數據結構與演算法 第一章 數據結構緒論

數據結構與演算法

第一章:數據結構緒論

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. 圖形結構:圖形結構的數據元素是多對多的關係。

在用示意圖表示數據的邏輯結構時,要注意兩點:

  • 將每一個數據元素看做一個節點,用圓圈表示。
  • 元素之間的邏輯關係用借點之間的連線表示,如果這個關係是有方向的,那麼用箭頭的連線表示。

1.3.2 物理結構

物理結構:是指數據的邏輯結構在電腦中的存儲形式。

數據的存儲結構性正確反應數據元素之間的邏輯關係

數據元素的存儲結構形式有兩種:順序存儲和鏈式存儲。

1.順序存儲結構

順序存儲結構:是把數據元素存放在地址連續的存儲單元里,其數據間的邏輯關係和物理關係是一致的。

鏈式存儲結構:是把數據元素存放在任意的存儲單元里,這組存儲但願可以是連續的,也可以是不連續的。

邏輯結構是面向問題的,而物理結構就是面向電腦的,其基本的目標就是將數據及其邏輯關係存儲到電腦的記憶體中。

1.4 數據類型

數據類型:是指一組性質相同的值的集合及定義再次集合上的一些操作的總稱

1.4.1 數據類型定義

原子類型:

是不可以在分解的基本類型,包括整型、實型、字元型等。

結構類型:

由若干個類型組合而成,是可以再分解的。例如,整型數組是由若干整型數據組成的。

抽象是指抽取出事物具有的普遍性的本質

1.4.2 抽象數據類型

抽象數據類型(Abstract Data Type, ADT):一個數學模型及定義在該模型上的一組操作。

一個抽象數據類型定義了:一個數據對象、數據對象中各數據元素之間的關係及對數據元素的操作。

抽象數據類型體現了程式設計中問題分解、抽象和資訊隱藏的特性。

描述抽象數據類型的標準格式

ADT 抽象數據類型名
Data
 數據元素之間邏輯關係的定義
Operation
 操作1
    	初始條件
  		操作結果描述
 操作2
    	......
 操作n
    	......
endADT

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