資料結構課程學習(4)

2021-10-03 03:01:40 字數 1016 閱讀 2441

由二維陣列儲存矩陣

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...

資料結構課程總結

不知不覺,一學期就這樣過去,有遺憾也有收穫。當我懷揣著對新學科的憧憬,第一次上賀老師的課時,我發現資料結構不再是傳統的教學模式,而是採用翻轉課堂的方式,它是由賀老師推廣實施的,這是一次教學上的改革,我們很榮幸成為它的乙份子,追趕時代的新潮流。對於資料結構這門課來說,需要我們下很大的功夫在上面,它是基...