第四章主要学习了串与数组,至于广义表,只是粗略的看了一下。与线性表类似, 串也有两种基本存储结构:顺序存储和链式存储。串的基本运算有串连接、两串相等判断、取子串、插入子串、删除子串、子串定位、子串替换等。其中,子串的定位运算通常称为串的模式匹配或串匹配。
//接下来就是匹配的过程
if(S[i]==T[j]){ i++;j++; }//若匹配则继续比较下一位 else{ pos++; i=pos; j=0; }//若不匹配则i回溯到之前比较的首位的下一位,j回溯到首位
BF 算法的匹配过程易千理解,思路直观简明。但当匹配失败时,主串指针需要回溯,模式串的指针总是恢复到首字符位置,因此算法时间复杂度高。
数组:由于数组一般不插入和删除,所以采用顺序存储结构表示数组比较合适。二维数组有两种存储方式:一种是以列序为主序的存储方式;一种是以行序为主序的存储方式。
原文:https://www.cnblogs.com/bkyhyf/p/12833084.html