深圳大學-數據結構-2017數組和廣義表演示文檔
《深圳大學-數據結構-2017數組和廣義表演示文檔》由會員分享,可在線閱讀,更多相關《深圳大學-數據結構-2017數組和廣義表演示文檔(39頁珍藏版)》請在裝配圖網上搜索。
第5章 數組和廣義表,5.1.1 數組和數組元素數組: ? n個相同類型數據元素a1,a2,…,an 構成的有限序列 ? 該有限序列存儲在一塊地址連續(xù)的內存單元中 ? 數組的定義類似于采用順序存儲結構的線性表,5.1 數 組,數組的特性: ? 數組中的數據元素數固定 ? 數組中的數據元素具有相同數據類型 ? 數組中的每個數據元素都有一組惟一的下標值。 ? 數組是一種隨機存儲結構??呻S機存取數組中的任意數據元素,5.1.2 數組的定義 ADT array { 數據對象D:具有相同類型的數據元素構成的有序集合; 數據關系R:對于n維數組,其每一個元素均位于n個向量中,每個元素最多具有n個前驅結點和n個后繼結點; 基本運算: } ADT array,5.1.3 數組的順序存儲及實現(xiàn) 數組是線性表的一種存儲方式 多維數組數據元素的順序存儲有兩種方式: ? 按行優(yōu)先存儲 ? 按列優(yōu)先存儲,一維數組的存儲: 若a0的存儲地址LOC(a0)確定,每個數據元素占用k個存儲單元,則: LOC(ai)=LOC(a0)+i*k (0≤i≤n) 一維數組中任一數據元素的存儲地址可直接計算得到(直接存取). 一維數組是一種隨機存儲結構。,二維數組A[m][n]的存儲: a00 a01 ……………a0( n-1) a10 a11 ……………a1( n-1) A = ┋ ┋ ┋ a(m-1)0 a(m-1)1……… a(m-1) (n-1)按行優(yōu)先存儲順序:a00, a01,… a0(n-1) , a10, a11,… a1(n-1) , … a(m-1)0,a(m-1)1,…a(m-1) (n-1) 按列優(yōu)先存儲順序:a00,a10,… a(m-1)0 , a01, a11, … a(m-1)1, … a0(n-1) ,..a1(n-1),…a(m-1) (n-1),,,二維數組及其順序存儲圖例形式,(b) 行優(yōu)先順序存儲,(c) 列優(yōu)先順序存儲,設有二維數組A=(aij)m?n,若每個元素占用的存儲單元數為L(個),LOC[a00]表示元素a00的首地址,即數組的首地址。 1 以“行優(yōu)先順序”存儲 ⑴ 第0行中的每個元素對應的(首)地址是: LOC[a0j]=LOC[a00]+j?L j=0,1,2, …,n (2) 第1行中的每個元素對應的(首)地址是: LOC[a1j]=LOC[a00]+n?L+j?L j=0,1,2, …,n … … … ⑶ 第m行中的每個元素對應的(首)地址是: LOC[amj]=LOC[a00]+m?n?L+j?L j=0,1,2, …,n,aij存儲位置按行優(yōu)先:address(aij )= address ( a00 ) + ( i×n+j )×L 按列優(yōu)先:address(aij ) = address ( a00 ) + (j×m +i )×L,二維數組可以看作是每個數據元素都是相同類型的一維數組的一維數組。 以此類推,任何多維數組都可以看作一個線性表,這時線性表中的每個數據元素也是一個線性表。 多維數組是線性表的推廣。,例5.1 有二維數組float a[5][4],計算a[3][2]的內存地址.(a起始地址為2000,數組元素長度4字節(jié)) LOC(a3,2)=LOC(a0,0)+(i*n+j)*k =2000+(3*4+2)*4=2056,壓縮存儲:多個相同值的結點只分配一個存儲空間,值為零的結點不分配空間。,5.2 矩陣的壓縮存儲,5.2.1 特殊矩陣 主要討論對稱矩陣和三角矩陣的壓縮存儲,對稱矩陣的壓縮存儲 若該矩陣為方陣。n×n階的方陣A滿足: aij=aji (0≤i≤n-1 , 0≤j≤n-1)則A為對稱矩陣。 對稱矩陣中,幾乎有一半元素的值相等。如存儲所有元素,浪費空間,且n值越大,浪費越嚴重。,對稱矩陣壓縮存儲: 只存儲對角線以上(或對角線以下)部分,未存儲的部分利用元素之間的對稱性訪問。 存儲對稱矩陣A(對角線以下部分,下標滿足i≥j的數組元素aij): a00 a10 a11 A = a20 a21 a22 ┋ ┋ ┋ a(n-1)0 ………….a(n-1) (n-1),,,按行優(yōu)先存儲,A壓縮存儲后元素aij的地址:? address(a00)+(i*(i+1)/2+j)×L 當i≥jaddress(aij)= address(a00)+(j*(j+1)/2+i)×L 當i< j,,三角矩陣的壓縮存儲 1、下三角矩陣 a00 0 0 ……… 0 a10 a11 0 ………. 0 A = a20 a21 a22 ………. 0 ┋ ┋ ┋ ┋ a(n-1)0 ……………… a(n-1) (n-1) 按行優(yōu)先, aij(i≥j)壓縮存儲后的地址為: address(aij)= address(a00)+ (i*(i+1)/2+j)×L 當i≥j注: 與對稱矩陣不同,當i- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 深圳大學 數據結構 2017 數組 廣義 表演 文檔
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.hcyjhs8.com/p-359906.html