抽象資料型別

抽象資料型別 （ Abstract Data Type ， ADT ） 是計算機科學中具有類似行爲的特定類別的數據結構的數學模型 ； 或者具有類似語義的一種或多種程序設計語言的數據類型 。 抽象數據類型是間接定義的 ， 通過其上的可執行的操作以及這些操作的效果的數學約束 （ 與可能的代價 ） 。 例如 ， 抽象的堆疊 （ stack ） 由3個操作定義 ： 推入push ， 彈出pop （ 接受約束 ： 每次彈出返回的是最新被推入且沒有被彈出的數據 ， 也就是後進先出 ） ， 查看堆疊頂端數據peek 。 當分析使用堆疊演算法的效率 ， 所有這3個操作用時相同 ， 無論堆疊中包含多少項數據 ； 並且對每項數據棧使用了常量大小的存儲 。 抽象數據類型 （ ADT ） 是純粹理論實體 ， 用於簡化描述抽象算法 ， 分類與評價數據結構 ， 形式描述程序設計語言的類型系統 。 一個ADT可以用特定數據類型或數據結構實現 ， 在許多程序設計語言中有許多種實現方式 ； 或者用形式規範語言描述 。 ADT常實現爲模塊 （ module ） ： 模塊的接口聲明瞭對應於ADT操作的例程 （ procedure ） ， 有時用註釋描述了約束 。