資料結構筆記 第四章

2021-10-01 05:16:37 字數 1015 閱讀 6877

模式匹配——bf演算法

從主串s的第0個字元開始和模式t 的第0個字元進行比較,

若相等,則繼續比較兩者的後續字元;

否則,從主串s的第1個字元開始和模式t 的第0個字元進行比較,

重複上述過程,直到t 中的字元全部比較完畢,則說明本趟匹配成功;或s中字元全部比較完,則說明匹配失敗。

模式匹配——kmp演算法

1.在串s和串t中分別設比較的起始下標i和j;

2. 迴圈直到s中所剩字元長度小於t的長度或t中所有字元均比較完畢

2.1 如果s[i]==t[j],繼續比較s和t的下乙個字元;否則

2.2 將j向右滑動到next[j]位置,即j=next[j];

2.3 如果j=-1,則將i和j分別加1,準備下一趟比較;

3. 如果t中所有字元均比較完畢,則返回匹配的起始下標;否則返回-1;

陣列是由一組型別相同的資料元素構成的有序集合,每個元素受n(n≥1)個線性關係的約束,並稱該陣列為 n 維陣列。

矩陣的壓縮儲存

儲存結構定義:

const int maxterm=100;

template

struct sparsematrix

;廣義表與線性表的區別?

線性表的成分都是結構上不可分的單元素

廣義表的成分可以是單元素,也可以是有結構的表

線性表是一種特殊的廣義表

廣義表不一定是線性表,也不一定是線性結構

廣義表的基本運算

(1)求表頭gethead(l):非空廣義表的第乙個元素,可以是乙個單元素,也可以是乙個子表

(2)求表尾gettail(l):非空廣義表除去表頭元素以外其它元素所構成的表。表尾一定是乙個表

廣義表的儲存結構——頭尾表示法

enum elemtag ;

template

struct glnode ptr;

};};

資料結構 第四章

第四章 字串和多維陣列 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 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...