由二維陣列儲存矩陣
1.行有先
loc(i,j) = loc(0,0)+[i*(h+1)+j]l
2.列有先
loc(i,j) = loc(0,0)+[i(h+1)+j]*l
多個相同元素只分配乙個儲存空間,對零元素不分配儲存空間
對稱矩陣
n階方陣,a(i,j) = a(j,i),(i>=1,j<=n)
儲存到陣列b[n(n+1)/2]中
儲存乙個三角區的元素即可
下三角區
a(i,j)對應儲存下標從0開始的陣列b[k],即k = i(i-1)/2+j-1
上三角區
a(i,j)對應儲存下標從0開始的陣列b[k],即k = j(j-1)/2+i-1
三角矩陣
下三角矩陣的上三角區為同一常數,或上三角矩陣的下三角區為同一常數
儲存到陣列b[n(n+1)/2]中
上三角區為常數,則
a(i,j)對應儲存下標從0開始的陣列b[k],即k = i(i-1)/2+j-1,
上三角區儲存於b[n(n+1)/2]
下三角區為常數,則
a(i,j)對應儲存下標從0開始的陣列b[k],即k =(2n-i+2)(i-1)/2+j-i,上三角區儲存於b[n(n+1)/2]
推導過程
第一行,儲存n個
第二行,儲存n-1個
…第i-1行,儲存n-(i-2)
a(i,j)在第i行第(j-i+1)
對角矩陣
對角矩陣也為帶狀矩陣
例如,n階方陣,|i-j|>1,a(i,j)=0
a(i,j)與b[k]之間的關係
k = 2i+j-3
i = (k+1)/3+1,j = k-2j+3
推導有點繞,不寫了
稀疏矩陣
零數非常多情況,只儲存非零就行了
但是不能隨機訪問了,只能遍歷
資料結構課程學習(2)
線性表是具有相同資料型別的n n 0 個資料元素的有限序列 表頭元素,表尾元素 除第乙個元素外,每個元素有且僅有乙個直接前驅 除最後乙個元素外,有且有乙個直接後驅 線性表的順序結構儲存是邏輯上相鄰,物理上相鄰 隨機儲存,時間複雜度為o 1 靜態建表 動態建表 起始位址 陣列名data 儲存容量 ma...
資料結構課程學習(3)
只允許一端進行插入或刪除的線性表 棧頂,允許進行插入和刪除 棧底,固定不變 按照先進後出的原則棧是線性表的特例,棧的順序儲存結構也叫順序棧 define maxsize 50 定義棧中元素的最大個數 typedef struct sqstack 順序棧的簡寫 注意 1.top值不能超過maxsize...
資料結構課程總結
不知不覺,一學期就這樣過去,有遺憾也有收穫。當我懷揣著對新學科的憧憬,第一次上賀老師的課時,我發現資料結構不再是傳統的教學模式,而是採用翻轉課堂的方式,它是由賀老師推廣實施的,這是一次教學上的改革,我們很榮幸成為它的乙份子,追趕時代的新潮流。對於資料結構這門課來說,需要我們下很大的功夫在上面,它是基...