《數據結構》考研課程第三章矩陣_第1頁
《數據結構》考研課程第三章矩陣_第2頁
《數據結構》考研課程第三章矩陣_第3頁
《數據結構》考研課程第三章矩陣_第4頁
《數據結構》考研課程第三章矩陣_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本節內容矩陣矩陣a[0]a[1]a[2]a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[2][0]a[2][1]a[2][2]3*3二維數組數組是由n(n≥1)個相同類型的數據元素構成的有限序列,一個數組的所有元素在內存中占用一段連續的存儲空間

對于二維數組而言,有兩種映射方法:按行優先和按列優先

矩陣行優先:先行后列,先存儲行號較小的元素,行號相等先存儲列號較小的元素

設二維數組的行下標與列下標的范圍分別為[l1,h1]與[l2,h2]a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[2][0]a[2][1]a[2][2]a00a01a02a10a11a12a20a21a22內存中的存放形式矩陣行優先:先行后列,先存儲行號較小的元素,行號相等先存儲列號較小的元素

設二維數組的行下標與列下標的范圍分別為[l1,h1]與[l2,h2]

二維數組第一個元素的地址前面有幾整行一整行的元素個數最后一行前面的元素數量a3,0a5,35-3=2整行一整行有5-0+1=6個元素l1=3h1=5l2=0h2=5最后一行前面還有3-0=3個元素矩陣行優先:先行后列,先存儲行號較小的元素,行號相等先存儲列號較小的元素

設二維數組的行下標與列下標的范圍分別為[l1,h1]與[l2,h2]

更常見的就是l1=0,l2=0,上式化為

矩陣列優先:先列后行,先存儲列號較小的元素,列號相等先存儲行號較小的元素

設二維數組的行下標與列下標的范圍分別為[l1,h1]與[l2,h2]a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[2][0]a[2][1]a[2][2]a00a10a20a01a11a21a02a12a22內存中的存放形式矩陣列優先:先列后行,先存儲列號較小的元素,列號相等先存儲行號較小的元素

設二維數組的行下標與列下標的范圍分別為[l1,h1]與[l2,h2]

二維數組第一個元素的地址前面有幾整列一整列的元素個數最后一列前面的元素數量a3,0a5,3最后一列前面還有5-3=2個元素l1=3h1=5l2=0h2=5一整列有5-3+1=3個元素前面還有3-0=3整列矩陣列優先:先列后行,先存儲列號較小的元素,列號相等先存儲行號較小的元素

設二維數組的行下標與列下標的范圍分別為[l1,h1]與[l2,h2]

更常見的就是l1=0,l2=0,上式化為

矩陣的壓縮存儲矩陣的壓縮存儲:指為多個值相同的元素只分配一個存儲空間,對零元素不分配存儲空間。

特殊矩陣:指具有許多相同矩陣元素或零元素,并且這些相同矩陣元素或零元素的分布有一定規律性的矩陣

。對稱矩陣、上(下)三角矩陣、對角矩陣

對稱矩陣對稱矩陣:若一個n階方陣A[1…n][1…n]中的任一個元素ai,j,都有ai,j=aj,i(1≤i,j≤n),則稱其為對稱矩陣。

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3對于n階對稱矩陣,上三角區所有元素和下三角區對應元素相同,所以我們只需要存儲對角線上的元素和下三角區的元素。對稱矩陣

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3將矩陣中關鍵字存儲到一維數組B[n(n+1)/2]中矩陣中元素ai,j對應數組B中下標為k的元素存儲下三角區和對角線上元素aij第一行存儲元素1一共1個第二行存儲元素2和5一共2個第三行存儲元素3和4和8一共3個……第i-1行存儲i-1個元素第i行存儲j個元素

對稱矩陣

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3

125348123254348下標012345012345678下標對稱矩陣

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3125348下標012345

三角矩陣三角矩陣:下三角矩陣的上三角區都是同一常數,上三角矩陣的下三角區都是同一常數

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3存儲思想:與對稱矩陣類似,不同之處在于存儲完下三角區和主對角線上的元素之后,緊接著存儲對角線上方的常量一次,故可以將下三角矩陣A[1…n][1…n]壓縮存儲在B[n(n+1)/2+1]中。

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3下三角矩陣上三角矩陣三角矩陣

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3

下三角矩陣三角矩陣對于上三角矩陣

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3上三角矩陣

三角矩陣對于上三角矩陣

上三角區:i<j主對角線:i=j下三角區:i>j1

2

31

2

3上三角矩陣對于下三角區元素,只用存儲一個即可,存在B中下標為n(n+1)/2的位置即可三對角矩陣三對角矩陣:對角矩陣也稱為帶狀矩陣。對于n階方陣A中的任一元素ai,j,當|i-j|>1時,有ai,j=0(1≤i,j≤n),則稱為三對角矩陣,

存儲思想:將3條對角線上的元素按行優先方式存放在一維數組B中

12345456……元素ai,j對應數組B中的下標為k=2i+j-3

當i=1,k顯然等于j-1當i>1時,第一行存儲兩個元素,接下來除去最后一行和第一行一共i-2行,每行都有三個元素ai,j在最后一行是第j-i+2個元素。所以ai,j在數組中是第2+(i-2)*3+j-i+2=2i+j-2個元素所以下標k=2i+j-3

檢查i=1的情況,也滿足這個式子。所以元素ai,j對應數組B中的下標為k=2i+j-3

三對角矩陣三對角矩陣:對角矩陣也稱為帶狀矩陣。對于n階方陣A中的任一元素ai,j,當|i-j|>1時,有ai,j=0(1≤i,j≤n),則稱為三對角矩陣,

存儲思想:將3條對角線上的元素按行優先方式存放在一維數組B中

12345456……若已知三對角線矩陣中某元素ai,j在一維數組B中存放于第k個位置,則可求得i=

(k+1)/3+1

,j=k-2i+3

位置k的元素的實際是第k+1個元素前面一共有k個元素除去第一行,還有k-2個元素,這k-2每達到3,那么k+1元素就進入下一行,所以它的行數便增1,而且是從第二行開始的。如果達不到三個,那第k+1個元素也到不了下一行,但是k-2不一定是3的整數,所以進行向下取整。即i=

(k-2)/3+2=

(k+1)/3+1

由于在第i行,前i-1行有2+3*(i-2)=3i-4個元素,所以是第i行非0元素的第k+1-(3i-4)=k-3i+5個關鍵字第i行前面有i-2(i>2)個0,所以j=k-3i+5+i-2=k-2i+3稀疏矩陣稀疏矩陣:矩陣中元素個數

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論