第四章学习小结

第四章:串,数组和广义表

串有顺序结构和链式结构。顺序结构一般用指针而不是静态数组以便合理分配空间。和顺序表相比,链表不够灵活,占用存储量大且操作复杂,所以一般会用顺序结构。

子串的定位运算通常称为串的模式匹配或串匹配。学了两种算法:暴力破解--BF算法和简便算法--KPM(三个名字)算法。BF算法是主串的每个字符分别和子串的每个字符比较(最坏情况)T(n)=O(n*m)。KPM可以就子串情况跳过一些不必要的比较,大大节省时间。T(n)=O(n+m)。对KPM算法理解还不够透彻,在以后会慢慢加深。

还学了1,2,3,n维数组的内部存储位置。1:a+i*L (a是起始地址,i是元素个数也就是元素下标,L是每个元素占的空间) 2:a+(i*n+j)*L(i行j列i j 是下标每行有n列)   3:a+(i*m*n + j*m + k)   

然后就是某些特殊的矩阵可以用特殊方式节省空间(压缩存储):如对称矩阵,三角矩阵,稀疏矩阵。其中三元组表和十字链表对稀疏矩阵都适用。

你可能感兴趣的:(第四章学习小结)