国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型

2020-06-23 00:14:36謝琪林攀枝花學院智能制造學院
數(shù)碼世界 2020年5期
關鍵詞:數(shù)據(jù)類型數(shù)據(jù)結(jié)構(gòu)運算

謝琪林 攀枝花學院 智能制造學院

在編程語言中存在數(shù)據(jù)結(jié)構(gòu)(Abstract Data Type,ADT)這樣的一門學科,很多初學者對抽象數(shù)據(jù)類型出現(xiàn)理解困難問題,應用無從談起的情況,今天我們一起來談談數(shù)據(jù)結(jié)構(gòu)C 語言實現(xiàn)的正確認識以及初步的應用。

抽象數(shù)據(jù)類型這個概念有兩個關鍵字,即:抽象,和數(shù)據(jù)類型。我們先來談談C 語言環(huán)境下數(shù)據(jù)類型的概念。

數(shù)據(jù)類型:一組性質(zhì)相同的值的集合以及定義在此集合上的一些操作的總稱。此中有集合與操作兩個關鍵字。

什么性質(zhì)相同的值的集合?就是一類數(shù)據(jù)?;緮?shù)據(jù)類型被人做是最基本地,不可再劃分的數(shù)據(jù),一般就是整形、浮點型性質(zhì)相同的值的集合在C 語言中包括:

在C 語言中,按照取值不同,數(shù)據(jù)類型可分為兩類:

①、原子類型:是不可再分解的基本類型,包括整型、實型、字符型等。

②、結(jié)構(gòu)類型:由若干的類型組合而成,是可以再分解的。例如:整型數(shù)組是由若干整型數(shù)據(jù)組合而成的。

比如:在C 語言中,聲明變量int a,b,這就意味著在給變量a、b 賦值時不能超出int 的取值范圍,變量a 和b 的運算只能是int 類型所允許的運算。

其對應的操作有:

數(shù)據(jù)類型按值的不同進行劃分。在高級語言中,每個變量、常量及表達式都有各自的取值范圍,類型就用來說明變量或表達式的取值范圍和所能進行的操作。

無論是什么計算機或計算機語言都會面臨著整型運算、實數(shù)運算、字符運算等操作,我們可以考慮把他們抽象出來。

那么抽象是指抽取出事物具有普遍性的本質(zhì)。它是抽出問題的特征而忽略非本質(zhì)的細節(jié),是對具體事物的一個概括。抽象是一種思考問題的方式,它隱藏了復雜的細節(jié),只保留了實現(xiàn)目標所必須的信息。

ADT 是指一個數(shù)學模型以及定義在這個模型上的一組操作,其定義僅僅取決于它的一組邏輯特性,而與它在計算機中的表示和實現(xiàn)無關。其作用比如你要實現(xiàn)對一個班級同學信息管理的系統(tǒng),如果你只用基本數(shù)據(jù)類型那么你需要定義很多數(shù)據(jù)類型的變量比如名字、性別、出生地、生日之類的,操作起來不是非常方便,但用抽象數(shù)據(jù)來實現(xiàn)就簡單了,直接把這些信息放包裝在一個新的數(shù)據(jù)類型中,然后就可以直接定義這樣的一個變量就可以了。所以我們可以得出結(jié)論:ADT 和數(shù)據(jù)類型在實質(zhì)上是一個概念,只不過是對數(shù)據(jù)類型的進一步抽象,不僅限于各種不同的計算機處理器中已經(jīng)實現(xiàn)的數(shù)據(jù)類型,還包括為解決更為復雜的問題而由用戶自定義的復雜數(shù)據(jù)類型,是一個數(shù)學模型以及定義在其上的一組操作組成,其一般的定義

例如,int 類型的數(shù)據(jù)表示的是整數(shù),可以進行加減乘除模等一些運算,int 類型數(shù)據(jù)的這些數(shù)學特性保持不變,那么在編程者來看,他們都是相同的。因此,數(shù)據(jù)抽象泛指除基本數(shù)據(jù)類型以外的數(shù)據(jù)類型。其意義在于數(shù)據(jù)類型的數(shù)學抽象特性。在C 語言中實現(xiàn)的具體形式就是結(jié)構(gòu)體,在C++就是類的定義。

例如,在統(tǒng)計學生信息時常使用姓名、學號、成績等信息,我們可以定義這樣的一個抽象數(shù)據(jù)類型student,它封裝了姓名、學號、成績?nèi)齻€不同類型的變量,這樣操作student 的變量就能夠很方便的知道這些信息了。C 語言中的結(jié)構(gòu)體以及C++、java 語言中的類等都是這種形式。

ADT 是由若干基本數(shù)據(jù)類型歸并之后形成的一種新的數(shù)據(jù)類型,這種類型由用戶定義,功能操作比基本數(shù)據(jù)類型更多,一般包括結(jié)構(gòu)體和類。其實說白了,ADT 就是把一些有一定關聯(lián)的基本數(shù)據(jù)類型打包,然后當做新的數(shù)據(jù)類型使用。

至于有什么用,這個用處可大了。比如你要實現(xiàn)對一個人地信息管理,如果你只用基本數(shù)據(jù)類型那么你需要定義很多數(shù)據(jù)類型的變量比如名字、性別、出生地、生日之類的,并且操作起來不方便。如果用抽象數(shù)據(jù)來實現(xiàn)就簡單了,直接把這些信息放包裝在一個新的數(shù)據(jù)類型中,然后就可以直接定義這樣的一個變量就可以了。

猜你喜歡
數(shù)據(jù)類型數(shù)據(jù)結(jié)構(gòu)運算
重視運算與推理,解決數(shù)列求和題
詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
有趣的運算
“整式的乘法與因式分解”知識歸納
撥云去“誤”學乘除運算
“翻轉(zhuǎn)課堂”教學模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學為例
高職高專數(shù)據(jù)結(jié)構(gòu)教學改革探討
中國市場(2016年45期)2016-05-17 05:15:48
TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學中的應用
《數(shù)據(jù)結(jié)構(gòu)》教學方法創(chuàng)新探討
河南科技(2014年5期)2014-02-27 14:08:57
范疇數(shù)據(jù)類型上的子類型*
三都| 平远县| 昌图县| 大邑县| 台北市| 玉树县| 固原市| 大足县| 嘉禾县| 建昌县| 武山县| 衡水市| 天全县| 汾西县| 肥西县| 理塘县| 花垣县| 宜兰县| 宁国市| 林周县| 鸡泽县| 德惠市| 馆陶县| 丹凤县| 西藏| 游戏| 新宾| 横山县| 临潭县| 肃宁县| 东乡族自治县| 中西区| 师宗县| 济南市| 黄陵县| 博爱县| 承德县| 本溪市| 苗栗市| 乐都县| 民丰县|