知识点梳理:数据结构与算法——高级数据结构
特殊矩阵
压缩思想:二维->一维
- 三角矩阵(对角线上/下为常数(不一定0))
- 稀疏矩阵:链式:十字链表;顺序:三元组表(一个元素:i,j,Aij;记录整体行数、列数、非0元个数T)
广义表
基本概念
线性表每个元素具有相同的数据类型
广义表:一个线性表中还包括一个或多个子表;一般记作 L = ( x 0 , x 1 , ⋯ , x n − 1 ) L=(x_0, x_1, \cdots, x_{n-1}) L=(x0,x1,⋯,xn−1)
名称:L;长度:n
每个 x i x_i xi是L的成员( x i x_i xi可以是单个元素:原子/广义表:子表)
广义表深度:表中元素都化解为原子后的括号层数
表头head= x 0 x_0 x0;表尾tail= ( x 1 , ⋯ , x n − 1 ) (x_1, \cdots, x_{n-1}) (x1,⋯,xn−1)(表头是元素,表尾是表!!!)
分类
纯表:根结点到叶结点只有一条路径;任何元素(原子、子表)只能出现一次 【广义表的表示与latex中的forest表示相似】
可重入表(再入表):表中元素可多次出现
循环表(递归表):含回路,深度无穷大
线性表 ⊆ \subseteq ⊆纯表(树) ⊆ \subseteq