黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 詳解抽象數據類型

詳解抽象數據類型

更新時間:2020-12-08 17:39:22 來源:動力節點 瀏覽1619次

抽象數據類型(abstract data type,ADT)實際上只是一個數學模型以及定義在模型上的一組操作。當然,這里的抽象是動詞而不是名詞,即通常是對數據的抽象,定義了數據的取值范圍以及對數據操作的集合。

抽象數據類型有兩個關鍵詞,一個叫“數據類型”,一個叫“抽象”,它們分別是什么意思呢?

首先,來說說什么是數據類型,數據類型包含了兩個東西,一個是“數據對象集”,就是我們說的“是什么東西”,第二個是“數據集合相關聯的操作集”,就像我們不能單純講怎么去處理圖書,我們是要對這些圖書進行操作的,這兩件事情:圖書的擺放,對圖書的操作,是緊密結合在一起的。這兩個東西在C語言里是獨立處理的,但是在一些面向對象的語言里邊,比如C++、Java,你就會發現,它們很好的為數據類型專門設計了一種機制,就是一個“類”,把這個數據集跟它相關的操作集封裝在一個類里面。

那再說什么是抽象。抽象,抽象的意思就是“不具體”,就是說,描述數據類型的方法是不依賴于具體的實現的,對一個數據類型的描述,它跟存放數據的機器,數據存儲的物理結構和實現操作的算法和編程語言皆無關。

以面向對象編程為例,在創建一個對象的時候,要給定這個對象有哪些屬性以及行為,并且可以通過一套接口描述說明這個對象用來干什么的,在給定輸入的時候,產生相應的結果,并不需要知道其內部實現的具體細節。其基本思想是,把數據定義為抽象的對象集合,并賦予它們合法操作,同時,不暴露其數據的表示細節和操作的實現細節。

抽象數據類型(ADT)是由公理定義的抽象概念,這些公理表示數據和對該數據的操作。ADT的定義,不在具體實例的范疇內,也不指代實現中具體的數據類型、結構或算法。相反,ADT對數據類型的定義,僅僅是根據數據類型的操作,和這些操作必須遵循的公理來的。

常見數據類型示例:

  • 鏈表(List)
  • 棧(Stack)
  • 隊列(Queue)
  • 集合(Set)
  • 映射(Map)
  • 流(Stream)

ADT可以代表對任何類型的數據的任何一組操作。換句話說,所有可能的 ADT 的窮舉列表是無限的,其原因與所有可能的英語句子的窮舉列表是無限的類似。ADT是對未指定數據的一組操作的抽象概念,而不是對某特定組的具體數據的操作。其實,數據類型和抽象數據類型可以看成一種概念。比如,各種計算機都擁有的整數類型就是一個抽象數據類型,盡管實現方法不同,但他們的數學特性相同。抽象數據類型的特征就是實現與操作分離,從而實現封裝。

抽象數據類型之所以如此受重視,是因為ADT為我們提供了一種以數學上合理且明確的方式來正式定義可重用模塊的方法。這使我們可以共享一種通用語言,以引用大量有用的軟件構建塊詞匯:學習和牢記這種理念,對我們在不同領域、框架,甚至編程語言之間都會大有幫助。如此重要的抽象數據類型的知識,只要輕輕一點,打開本站的數據結構和算法教程,你就能輕松掌握哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本在线观看一区二区三区 | 日韩三级观看 | 伊人狠狠色j香婷婷综合 | 男人av的天堂 | 一级毛片a女人刺激视频免费 | 国产午夜久久精品 | 国产精品福利小视频 | 二个人的视频www | 天天躁狠狠躁狠狠躁夜夜躁 | 极品美女丝袜被的网站 | 欧美深夜福利网站在线观看 | 18无删减羞羞网站动漫 | np饥渴放荡总受高hbl皇帝攻 | 精品视频在线播放 | 国产一区二区久久久 | 久久久91精品国产一区二区三区 | 国产成人综合精品一区 | 国产片a国产片免费看视频 国产片黄色 | 国产成人精品实拍在线 | 国产日本在线观看 | 成人免费观看视频高清视频 | 欧美视频三区 | 一区精品在线 | 久久精品视屏 | 欧美久久一区二区三区 | 国产凹凸一区在线观看视频 | 成人一级毛片 | 中文字幕在线成人免费看 | 黄色大片免费网站 | 国产日韩精品欧美一区色 | 成年视频xxxxx在线网站 | 国产成人精品怡红院 | 欧美日本在线三级视频 | 综合网天天操天天射 | 1204曰韩欧美成人看片 | 日本a免费 | 国产男女 爽爽爽爽视频 | 狠狠色噜狠狠狠狠色综合久 | 91精品国产亚一区二区三区 | 韩国午夜tv免费影院 | 最好看的中文字幕2019免费 |