java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)—數(shù)據(jù)結(jié)構(gòu)的基本概念(轉(zhuǎn))

          數(shù)據(jù)結(jié)構(gòu)的基本概念



                數(shù)據(jù):

                 數(shù)據(jù)(data)是描述客觀事物的數(shù)字、字符以及所有能夠輸入到計算機(jī)中并能被計算機(jī)接受的各種符號集合的統(tǒng)稱。數(shù)據(jù)是信息的符號表示,是計算機(jī)程序的處理對象。除了數(shù)值數(shù)據(jù),計算機(jī)能夠處理的數(shù)據(jù)還可以是各種非數(shù)值數(shù)據(jù),如字符串、圖形、音頻、視頻等多媒體數(shù)據(jù)。

                 表示一個事物的一組數(shù)據(jù)稱為一個數(shù)據(jù)元素(data element):數(shù)據(jù)元素是數(shù)據(jù)的基本單位。一個數(shù)據(jù)元素可以是一個不可分割的原子項,也可以由多個數(shù)據(jù)項組成。

                 數(shù)據(jù)項(data item)是數(shù)據(jù)元素中有獨(dú)立含義的、不可分割的最小標(biāo)識單位。例如,一個整數(shù)、一個字符都是原子項;一個學(xué)生數(shù)據(jù)元素包含學(xué)號、姓名、性別和出生日期等多個數(shù)據(jù)項組成。

                

          數(shù)據(jù)類型:

                 類型(type)是具有相同邏輯意義的一組值的集合。數(shù)據(jù)類型(data type)是指一個類型和定義在這個類型上的操作集合。數(shù)據(jù)類型定義了數(shù)據(jù)的性質(zhì)、取值范圍以及對數(shù)據(jù)所能進(jìn)行的各種操作。例如,Java語言的整數(shù)類型int,除了數(shù)值集合[-231,...,-2,-1,0,1,2,...,231-1]之外,還包括在這個值集合上的操作集合[+,-,*,/,%,=]。

                 程序中的每一個數(shù)據(jù)都屬于一個數(shù)據(jù)類型,決定了數(shù)據(jù)的類型也就決定了數(shù)據(jù)的性質(zhì)以及對數(shù)據(jù)進(jìn)行的運(yùn)算和操作,同時數(shù)據(jù)也受到類型的保護(hù),確保數(shù)據(jù)不能進(jìn)行非法操作。

                 高級程序涉及語言通常預(yù)定一些基本數(shù)據(jù)類型和構(gòu)造數(shù)據(jù)類型。基本數(shù)據(jù)類型的值是不可分解的,它可直接參與該類型所允許的運(yùn)算。構(gòu)造數(shù)據(jù)類型是使用已有的簡單數(shù)據(jù)類型和已定義的構(gòu)造數(shù)據(jù)類型按照一定的語法規(guī)則組織起來的較復(fù)雜的數(shù)據(jù)類型。構(gòu)造數(shù)據(jù)類型的變量包含多個數(shù)據(jù)項。

                 java語言的基本數(shù)據(jù)類型有整數(shù)類型、浮點(diǎn)數(shù)類型、字符類型、布爾類型,構(gòu)造數(shù)據(jù)類型(引用類型)有數(shù)組、類和接口。

           

          數(shù)據(jù)結(jié)構(gòu)

                 計算機(jī)處理的數(shù)據(jù)不是雜亂無章的,而是有著內(nèi)在聯(lián)系的。只有分析清楚它們的內(nèi)在聯(lián)系,對大量的、復(fù)雜的數(shù)據(jù)才能進(jìn)行復(fù)核的組織和有效處理。

                 數(shù)據(jù)結(jié)構(gòu)是指元素之間存在的關(guān)系。一個數(shù)據(jù)結(jié)構(gòu)(data structure)是由n(n≥0)個數(shù)據(jù)元素組成的有限集合,數(shù)據(jù)元素之間具有某種特定的關(guān)系。

                 數(shù)據(jù)結(jié)構(gòu)概念包括三方向:數(shù)據(jù)的邏輯結(jié)構(gòu)

                                                           數(shù)據(jù)的存儲結(jié)構(gòu)

                                                           數(shù)據(jù)的操作

                 數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)類型兩個概念的側(cè)重點(diǎn)不同。數(shù)據(jù)類型研究的是每種數(shù)據(jù)所具有的特性,以及對這種特性的數(shù)據(jù)能夠進(jìn)行哪些操作;數(shù)據(jù)結(jié)構(gòu)研究的是數(shù)據(jù)元素之間具有的相互關(guān)系,數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)元素的數(shù)據(jù)類型無關(guān),也不隨數(shù)據(jù)元素值的變化而變化。

           

          抽象數(shù)據(jù)類型

                 程序設(shè)計語言使用數(shù)據(jù)類型描述數(shù)據(jù)特性,采取“表示與實(shí)現(xiàn)分離”的策略。語言本身僅提供數(shù)據(jù)類型的語法規(guī)則,并沒有說明這些數(shù)據(jù)類型是如何實(shí)現(xiàn)的;程序員按照這些規(guī)則使用數(shù)據(jù)類型,而不必知道這些數(shù)據(jù)類型是如何實(shí)現(xiàn)的。

                 抽象數(shù)據(jù)類型(Abstract Data type,ADT)指一個數(shù)學(xué)模型以及定義在該模型上的一組操作。抽象數(shù)據(jù)類型和數(shù)據(jù)類型本質(zhì)上是一個概念,它的最重要特征是將一個類型上的數(shù)據(jù)及操作的邏輯含義與具體實(shí)現(xiàn)分離

                 與使用數(shù)據(jù)類型描述數(shù)據(jù)特性一樣,通常使用抽象數(shù)據(jù)類型描述數(shù)據(jù)結(jié)構(gòu),將線性表、樹、圖等數(shù)據(jù)結(jié)構(gòu)分別定義為抽象數(shù)據(jù)類型,每種抽象數(shù)據(jù)類型描述一種數(shù)據(jù)結(jié)構(gòu)的邏輯特性和操作,與該數(shù)據(jù)結(jié)構(gòu)在計算機(jī)內(nèi)的存儲及實(shí)現(xiàn)無關(guān)。

                 抽象數(shù)據(jù)類型是軟件模塊化設(shè)計思想的重要手段。一個抽象數(shù)據(jù)類型是描述一種特定功能軟件的基本模塊,由各種基本模塊可組織和構(gòu)造起來一個龐大的軟件系統(tǒng)。

          posted on 2009-04-12 14:22 胡鵬 閱讀(725) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)結(jié)構(gòu)java基礎(chǔ)

          導(dǎo)航

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          agile

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 永顺县| 桓台县| 巧家县| 冀州市| 海兴县| 叶城县| 雷州市| 治多县| 邵武市| 宣威市| 巴里| 潞西市| 城市| 建阳市| 阳高县| 绥滨县| 永春县| 旅游| 江达县| 汶上县| 天台县| 隆德县| 来宾市| 惠安县| 赤壁市| 福建省| 册亨县| 商水县| 同江市| 文化| 余庆县| 绥芬河市| 衡山县| 甘肃省| 胶州市| 永靖县| 西丰县| 睢宁县| 孟津县| 左贡县| 蓬安县|