1.串的基本概念:
串:由零个或多个字符组成的有限序列。
S='a1a2...an'
串的长度:串中字符的个数n。
空串。
子串:串中任意个连续的字符组成的子序列。
字符在串中的位置:该字符在串中的序号。子串在主串中的位置以子串的第一个字符在主串中的位置来显示。
相等串:两个串的长度相等且每个对应位置的字符都相等。
空格串:由一个而多个空格组成的串。(与空串不同)
2.串的简单模式匹配算法:
模式匹配:子串的定位操作,它求的是子串在主串中的位置。
3.矩阵的压缩存储:
压缩存储:为多个值相同的元素只分配一个存储空间,对零元素不分配存储空间。(特殊矩阵才可以压缩存储,节省存储空间)
特殊矩阵:对称矩阵、上(下)三角矩阵、稀疏矩阵等。
- 对称矩阵:里面的元素是按主对角线对称的,上三角和下三角部分中的对应元素相等,因此可以让它们共享一个存储空间。在下图中的第一种情况里面,假设存储了i行,则第i行有 1+2+···+i=i(i+1)/2 个元素,在i行中,前面存储了j个元素。
- 三角矩阵:上三角矩阵/下三角矩阵。
- 稀疏矩阵:矩阵中非零元素的个数t,远小于矩阵元素的个数s。
压缩存储方法有:三元组顺序表和十字链表法。