模式匹配——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 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包...