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

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

詳解抽象數據類型

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

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

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

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

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

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

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

常見數據類型示例:

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

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

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 最近2019中文字幕免费版视频 | 欧美一区二区三区在线可观看 | 依欧美视频 | 91小鲜肉| 天天射美女 | 欧美.亚洲.日本一区二区三区 | 日韩精品一区二区三区在线观看 | 久久精品大片 | 日韩视频不卡 | 一级毛片一级毛片免费毛片 | 成年人在线观看免费视频 | 日本草草 | 国产精品人人爽人人做 | 免费国产怡红院在线观看 | 欧美性精品 | 色爱区综合激情五月综合激情 | 日本资源站 | 丝袜美臀综合图 | 久久精品午夜 | 一级一级一级一级毛片 | 久久99精品久久久久久秒播放器 | 欧美在线视频一区二区 | 最近的中文字幕免费视频1 最近的中文字幕大全免费版 | 麻豆轻量版| 欧美日本色图 | 香港成人网 | 美女视频黄8频a美女大全软 | 国产成人一区二区三区在线播放 | 生活一级毛片 | 国产午夜精品一区二区 | www.伊人.com | 免费一级欧美片在线观看 | 四虎永久在线精品波多野结衣 | 在线观看男女男免费视频 | 91久久精品国产91性色tv | 久久精品国产一区二区三区不卡 | 亚州中文| 日韩中文字幕在线观看视频 | 国产黄色高清视频 | 精品国产一区二区在线观看 | 中国男女全黄大片 |