數據結構之數組

北航軟件工程專業考研991數據結構總結:

三、數組
1.一維數組和二維數組的存儲;
2.矩陣的壓縮存儲的基本概念;
3.對稱矩陣、對角矩陣以及三角矩陣的壓縮存儲。

數組:序列和值的偶對

1、一位數組和二維數組的存儲

一維數組的存儲:a[1] + (n-1) i

二維數組的存儲:
 
    行序存儲:按行存儲,先存第一行  a[i][j] = a[1][1] + (i-1)n + j-1
    
    列序存儲:按列存儲,先存第一列  a[i][j] = a[1][1] + (j-1)m + i-1
    
2、矩陣的壓縮存儲的基本概念

對多個值相同的元素或者分佈有規律的元素分配儘可能少的空間,而對0元素不分配存儲空間

3、對稱矩陣,對角矩陣以及三角矩陣的壓縮存儲

  對稱矩陣:a[i][j] = a[j][i]  0 <= i,j <= n 
  存儲方式:只存儲對角線和對角線右上三角的元素,需要 n(n+1)/2 個存儲空間  1 + 2 +...+n 
  元素讀取: i > j   i*(i-1)/2 + j-1 
             j > i   j*(j-1)/2 + i-1 
             

  對角矩陣:非0元素集中在主對角線兩邊,其餘元素爲0
  以3對角矩陣舉例:元素有 n + n-1 + n-1 = 3n-2 個元素
  存儲方式:按行存儲,不分配0元素
  元素讀取:2 * i + j - 3
  
  稀疏矩陣:0元素較多的矩陣
  存儲方式:三元組 (i, j, v),第i行j列值爲v的元素
  特殊的三元組:(m,n,t),表示總行數m,總列數n,總非0元素的個數
  t個非0元素的稀疏矩陣用 t+1 個三元組表示,其中,第一個表示總行數,列數,總非0元素的個數,第二個到t+1個表示t個非0元素的信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章