The NoteBook of EricKong

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
           多維數(shù)組和廣義表是一種復(fù)雜的非線性結(jié)構(gòu),它們的邏輯特征是:一個(gè)數(shù)據(jù)元素可能有多個(gè)直接前驅(qū)和多個(gè)直接后繼。

          多維數(shù)組

          1、數(shù)組(向量)——常用數(shù)據(jù)類型

               一維數(shù)組(向量)是存儲(chǔ)于計(jì)算機(jī)的連續(xù)存儲(chǔ)空間中的多個(gè)具有統(tǒng)一類型的數(shù)據(jù)元素。
               同一數(shù)組的不同元素通過不同的下標(biāo)標(biāo)識(shí)。
                 (a1,a2,…,an)

          2、二維數(shù)組
               二維數(shù)組Amn可視為由m個(gè)行向量組成的向量,或由n個(gè)列向量組成的向量。
               
               二維數(shù)組中的每個(gè)元素aij既屬于第i行的行向量,又屬于第j列的列向量。

          3、多維數(shù)組
               三維數(shù)組Amnp可視為以二維數(shù)組為數(shù)據(jù)元素的向量。四維數(shù)組可視為以三維數(shù)組為數(shù)據(jù)元素的向量……
               三維數(shù)組中的每個(gè)元素aijk都屬于三個(gè)向量。四維數(shù)組中的每個(gè)元素都屬于四個(gè)向量……

          4、數(shù)組的順序存儲(chǔ)方式
               由于計(jì)算機(jī)內(nèi)存是一維的,多維數(shù)組的元素應(yīng)排成線性序列后存人存儲(chǔ)器。
               數(shù)組一般不做插入和刪除操作,即結(jié)構(gòu)中元素個(gè)數(shù)和元素間關(guān)系不變化。一般采用順序存儲(chǔ)方法表示數(shù)組。
          (1)行優(yōu)先順序
               將數(shù)組元素按行向量排列,第i+1個(gè)行向量緊接在第i個(gè)行向量后面。
            【例】二維數(shù)組Amn的按行優(yōu)先存儲(chǔ)的線性序列為:
              a11,a12,…,a1n,a21,a22,…,a2n,……,am1,am2,…,amn

            注意:
               ①PASCAL和C語(yǔ)言中,數(shù)組按行優(yōu)先順序存儲(chǔ)。
               ②行優(yōu)先順序推廣到多維數(shù)組,可規(guī)定為先排最右的下標(biāo)。

          (2)列優(yōu)先順序
               將數(shù)組元素按列向量排列,第i+1個(gè)列向量緊接在第i個(gè)列向量后面。
            【例】二維數(shù)組Amn的按列優(yōu)先存儲(chǔ)的線性序列為:
              a11,a21,…,am1,a12,a22,…,am2,……,a1n,a2n,…,amn

            注意:
               
          ①FORTRAN語(yǔ)言中,數(shù)組按列優(yōu)先順序存儲(chǔ)。
               ②列優(yōu)先順序推廣到多維數(shù)組,可規(guī)定為先排最左的下標(biāo)。

          5、數(shù)組元素的地址計(jì)算公式
          (1)按行優(yōu)先順序存儲(chǔ)的二維數(shù)組Amn地址計(jì)算公式
                  LOC(aij)=LOC(a11)+[(i-1)×n+j-1]×d
              其中:
            ①LOC(a11)是開始結(jié)點(diǎn)的存放地址(即基地址)
            ②d為每個(gè)元素所占的存儲(chǔ)單元數(shù)
            ③由地址計(jì)算公式可得,數(shù)組中任一元素可通過地址公式在相同時(shí)間內(nèi)存取。即順序存儲(chǔ)的數(shù)組是隨機(jī)存取結(jié)構(gòu)。

          (2)按列優(yōu)先順序存儲(chǔ)的二維數(shù)組Amn地址計(jì)算公式
                    LOC(aij)=LOC(a11)+[(j-1)×m+i-1]×d

          (3)按行優(yōu)先順序存儲(chǔ)的三維數(shù)組Amnp地址計(jì)算公式
                LOC(aijk)=LOC(a111)+[(i-1)×n×p+(j-1)×p+k-1]×d

          (4)下界不為1的二維數(shù)組的地址計(jì)算公式

            ①二維數(shù)組A[c1..d1,c2..d2]的地址計(jì)算公式:
                LOC(aij)=LOC(ac1c2)+[(i-c1)×(d2-c2+1)+j-c2]×d
            ②下界為0的二維數(shù)組的地址計(jì)算公式(C語(yǔ)言中使用)
                LOC(aij)=LOC(a00)+[i×(d2+1)+j]×d
             注意:
               以下討論的數(shù)組存儲(chǔ)結(jié)構(gòu)都以C語(yǔ)言下標(biāo)表示。
          posted on 2012-05-21 17:07 Eric_jiang 閱讀(922) 評(píng)論(4)  編輯  收藏 所屬分類: C/C++

          Feedback

          # re: 多維數(shù)組和廣義表 2012-05-21 17:10 Eric_jiang
          http://student.zjzk.cn/course_ware/data_structure/web/wenjian/wenjian10.1.1.1.htm  回復(fù)  更多評(píng)論
            

          # re: 多維數(shù)組和廣義表 2012-05-22 20:39 桑巴葡語(yǔ)翻譯公司
          排序
          ....\冒泡排序.txt
          ....\堆排序.txt
          ....\希爾排序.txt
          ....\快速排序.txt
          ....\直接插入排序.txt
          ....\直接選擇排序.txt
          ....\考試.txt
          ....\考試1.txt
          查找
          ....\折半查找.c.txt
          ....\自己做的查找算法.txt
          ....\順序查找.c.txt
          棧、隊(duì)列基本操作練習(xí)
          ....................\二叉樹建立.txt
          ....................\棧的操作.txt
          ....................\隊(duì)列的操作.txt
          遞歸
          ....\字符倒序輸出.txt
          鏈表基本操作練習(xí)
          ................\單個(gè)節(jié)點(diǎn)的后插操作.txt
          ................\雙向循環(huán)鏈表的建立與插入刪除操作.txt
          ................\頭插法建立鏈表.txt
          ................\尾插法建立但鏈表1.txt
          ................\尾插法建立鏈表.txt  回復(fù)  更多評(píng)論
            

          # re: 多維數(shù)組和廣義表 2012-05-23 14:59 廣州翻譯員
          http://blog.csdn.net/v_july_v/article/details/7577684  回復(fù)  更多評(píng)論
            

          # re: 多維數(shù)組和廣義表 2012-05-29 22:40 Eric_jiang
          http://www.jpk.pku.edu.cn/pkujpk/course/sjjg/zhinan/video.htm  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 闻喜县| 巴南区| 修水县| 启东市| 育儿| 夹江县| 成安县| 盐津县| 当雄县| 嘉峪关市| 沂源县| 德格县| 望都县| 襄垣县| 天镇县| 高淳县| 兰溪市| 台中市| 杭锦后旗| 马山县| 武鸣县| 射洪县| 桑植县| 姜堰市| 且末县| 揭东县| 朝阳县| 沅陵县| 横峰县| 介休市| 蕉岭县| 鲁山县| 丹阳市| 泸州市| 定结县| 固阳县| 松原市| 淮南市| 莲花县| 蚌埠市| 东阳市|