抽象數據類型


1.數據類型

數據類型(data type)是一個值的集合和定義在這個值集上的一組操作的總稱。

  • 原子類型:如語言的整形、字符型等標准類型及指針等簡單的導出類型和空類型。
  • 結構類型:其值是由若干成分按某種結構組成的,因此是可以分解的,並且它的成分可以是非結構的,也可以是結構的,通常是由標准類型派生的。例如,C/C++中的數組、結構等類型。

2.抽象數據類型(abstract data type, ADT)

抽象數據類型是指一個數學模型以及定義在該模型上的一組操作。它通常是指對數據的某種抽象,定義了數據的取值范圍及其結構形式,以及對數據的操作的集合。

“抽象”的意義在於數據類型的數學抽象特性。

3.抽象數據類型的描述方法

(D,S,P)

D是數據對象,S是D上的關系集,P是對D的基本操作集。

4.抽象數據類型一般可以由數據對象、數據關系及基本操作來定義。

ADT  抽象數據類型

{

    數據對象(數據對象的定義)

    數據關系(數據關系的定義)

    基本操作(基本操作的定義)

}ADT 抽象數據類型名

其中,數據對象和數據關系的定義用集合描述,基本操作的定義格式為

    返回類型 基本操作名(參數表)

5.對於每個操作,包含下列5個基本要素:

  • 輸入
  • 前置條件
  • 過程
  • 輸出
  • 后置條件
6.基本操作有兩種參數:賦值參數只為操作提供輸出值;引用參數以&開頭,除可提供輸出值外,還將返回操作結果。

7.面向對象的程序設計(OPP)方法。

   在面向對象程序設計語言中,借助對象描述抽象數據類型,存儲結構的說明和操作函數的說明被封裝在一個整體結構中,這個整體結構稱為類(class),屬於某個類的具體變量稱為對象(object)。

8.ADT和類的概念實際上反映了程序或軟件設計的兩層抽象:ADT相當於是在概念層(抽象層)上描述問題,而類相當於是在實現層上描述問題。

抽象數據類型與C++中類的對應關系如下:

                         抽象數據類型——類

                         數據對象——數據成員(屬性)

                         基本操作——成員函數(方法)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM