天天看點

資料結構基礎概念資料結構緒論

資料結構緒論

資料結構(data structre)是計算機中存儲,組織資料的方式。

資料結構是一種具有一定邏輯關系,在計算機中應用某種存儲結構,并且封裝了相應操作的資料元素集合。它包含了邏輯關系,存儲關系和操作。

資料結構主要的研究的問題就是如何合理的組織資料,高效的處理資料。

常見的資料結構

  • 棧:一種特殊的線性表,遵循後進先出的原則。
  • 隊列:也是一種特殊的線性表,先進先出。
  • 數組:

基本概念和術語

  • 資料(Data):是客觀事物的符号表示,是所有能輸入到計算機中并被計算機處理的符号的總稱。包括數學計算中的整數和小數,字元,被多媒體程式處理過的圖形,音頻等通過特殊編碼定義後的資料。
  • 資料元素(Data Element):是資料的基本機關,在計算機中通常作為一個整體處理和考慮。在某些情況下,也被稱為記錄,元素等。
  • 資料項(Data Item):是組成資料元素,具有獨立含義,不可分割的最小機關。例如學生資訊表中的性别,學号等。
  • 資料對象(Data Object):是性質相同的資料元素的集合,是資料的一個子集。

資料結構

資料結構是互相之間存在一種或多種特定關系的資料元素的集合。

資料結構包括邏輯結構和存儲結構兩個層次

邏輯結構

資料的邏輯結構是從邏輯關系上描述資料,它與資料的存儲方式無關,是獨立于計算機的。是以,資料的邏輯結構可以看成是從具體問題抽象出來的資料模型。

資料的邏輯結構有兩個要素:一是資料元素,二是關系。

根據資料元素的關系的不同特性,有四種資料結構:

資料結構基礎概念資料結構緒論
資料結構基礎概念資料結構緒論

存儲結構

存儲結構就是資料對象在計算機中的存儲表示,也叫做實體結構。存儲在計算機中時要同時存儲資料對象的資料和關系,資料元素在計算機中用一個節點表示。

資料元素在計算機中有兩種基本的存儲結構:一是順序存儲方式,二是鍊式存儲方式。

順序存儲結構是借助元素在存儲器中的相對位置來表示元素之間邏輯關系的一種存儲方式。通常借助程式設計語言的數組類型來描述。

鍊式存儲方式則在節點中附加指針字段,用于存放後續元素的位址,來表示節點的關系。是以通常借用程式設計語言的指針類型來描述。

資料類型和抽象資料類型

資料類型(data type) 是進階程式設計語言的一個基本概念,它是一個值的集合和在這個值集上的操作的總稱。

抽象就是抽取出實際問題的本質。

抽象資料類型(abstract data type,ADT) 一般指有使用者定義,表示實際問題的數學模型,以及定義在這個數學模型上的操作的總稱,具體包括三個部分:資料對象,資料對象之間關系的集合,以及資料對象的基本操作的集合。

ADT抽象資料類型名{

資料對象:(資料對象的定義〉

資料關系:(資料關系的定義〉

基本操作:(基本操作的定義〉

} ADT抽象資料類型名

算法和算法分析

資料結構與算法之間存在着本質聯系,在某一類型資料結構上,總要涉及其上施加的運算,而隻有通過對所定義運算的研究,才能清楚了解資料結構的定義和作用;在涉及運算時,總要聯系到該算法處理的對象和結果的資料。在“資料結構”中,将遇到大量的算法問題,因為算法聯系着資料在計算過程中的組織方式,為了描述實作某種操作,常常需要設計算法,因而算法是研究資料結構的重要途徑。

算法是為了解決某類問題而規定的一個有限長的操作序列。算法具有五個特性:有窮性、确定性、可行性、輸入和輸出。一個算法的優劣應該從以下四方面來評價:正确性、可讀性、健壯性和高效性。

繼續閱讀