在第四章裡,我們學習了字串和多維陣列。字串是個或多個字元組成的有限序列。其操作主要有:賦值操作、判斷操作、求長度、求子串、定位、替換、插入、刪除。空白串:指串中包含乙個或多個空格字元的串。串是特殊的線性表(結點是字元),所以串的儲存結構與線性表的儲存結構類似。串的順序儲存結構簡稱為順序串: 順序串又可按儲存分配的不同分為:靜態儲存分配:直接用定長的字元陣列來定義。優點是涉及串長的操作速度快,但不適合插入、鏈結操作。動態儲存分配:是在定義串時不分配儲存空間,需要使用時按所需串的長度分配儲存單元。串的鏈式儲存就是用單鏈表的方式儲存串值,串的這種鏈式儲存結構簡稱為鏈串。鏈串與單鏈表的差異只是它的結點資料域為單個字元。順序串上子串定位的運算:又稱串的「模式匹配」或「串匹配」,是在主串中查詢出子串出現的位置。
多維陣列:陣列一般用順序儲存的方式表示。儲存的方式有:
1.loca(ij
)=loca(11
)+((i-1
)*n+
(j-1
))*d.
。按列優先順序排列的陣列:
loca(ij
)=loca(11
)+((j-1
)*n+
(i-1
))*d.
矩陣的壓縮儲存:為多個相同的非零元素分配乙個儲存空間;對零元素不分配空間。特殊矩陣的概念:所謂特殊矩陣是指非零元素或零元素分布有一定規律的矩陣。稀疏矩陣的概念:乙個矩陣中若其非零元素的個數遠遠小於零元素的
元素總個數,則該矩陣稱為稀疏矩陣。特殊矩陣的型別:
①對稱矩陣:滿足a(
ij)=a(
ji)。
②三角矩陣:上三角陣:
k=i*
(2n-i+1
)/2+j-i
,loca(ij
)=loc
(sa[0]
)+k*d.
③ 下三角
loca(ij
)=loc
(sa[0]
)+k*d.
④ 對角矩陣。
稀疏矩陣的壓縮儲存方式用三元組表把非零元素的值和它所在的行號列號做為乙個結點存放在一起,用這些結點組成的乙個線性表來表示。但這種壓縮儲存方式將失去隨機儲存功能。加入行表記錄每行的非零元素在三元組表中的 起始位置,即帶行表的三元組表。
資料結構 第四章
第四章 字串和多維陣列 4.1 字串 4.1.1 字串的定義 1.字串的定義 字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為0的串為空串,記作 乙個非空串通常該記作 s s1,s2 sn 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...
資料結構 第四章
第四章 字串和多維陣列 4.1 字串 4.1.1 字串的定義 1.字串的定義 字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為0的串為空串,記作 乙個非空串通常該記作 s s1,s2 sn 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...
資料結構第四章
第四章字串和多維陣列 4.1 字串 4.1.1 字串的定義 1.字串的定義 字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為 0的串為空串,記作 乙個非空串通常該記作 s s1,s2 sn 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...