• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      謝琪林 攀枝花學(xué)院 智能制造學(xué)院

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

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

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

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

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

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

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

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

      其對應(yīng)的操作有:

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

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

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

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

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

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

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

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

      猜你喜歡
      數(shù)據(jù)類型數(shù)據(jù)結(jié)構(gòu)運(yùn)算
      重視運(yùn)算與推理,解決數(shù)列求和題
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      有趣的運(yùn)算
      “整式的乘法與因式分解”知識(shí)歸納
      撥云去“誤”學(xué)乘除運(yùn)算
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
      河南科技(2014年5期)2014-02-27 14:08:57
      范疇數(shù)據(jù)類型上的子類型*
      舟曲县| 东安县| 丹巴县| 牙克石市| 延庆县| 巴彦县| 馆陶县| 康定县| 盐边县| 资中县| 大石桥市| 文登市| 宜川县| 鄂温| 汉中市| 玉田县| 克什克腾旗| 安西县| 武川县| 莎车县| 泰安市| 衢州市| 天水市| 武陟县| 屯留县| 教育| 娱乐| 刚察县| 通榆县| 屏东市| 嵊州市| 江北区| 锡林郭勒盟| 景泰县| 咸阳市| 隆林| 定兴县| 齐河县| 墨竹工卡县| 南木林县| 木兰县|