①数组
a[行][列]
(1)分为按行优先,按列优先例题:
②矩阵
(1)对称矩阵:矩阵中的元素满足a[i][j]=a[j][i]的矩阵称之为对称矩阵(矩阵必须是nn的方阵)
例题:假设有一个nn的对称矩阵,第一个元素为a[0][0],请用一种存储效率高的形式将其存储在一维数组中。
(2)三角矩阵:分为上三角矩阵,下三角矩阵例题:假设有一个n*n的三角矩阵,第一个元素为a[0][0],请用一种存储效率高的形式将其存储在一维数组中
(3)对角矩阵此处过,考的不多,考了就pass掉做别的题目
例题:(4)稀疏矩阵:0比较多的矩阵
稀疏矩阵的三种表示方法:
4.1三元组表示法
4.2邻接表表示法(链式存储)
4.3十字链表表示法(链式存储)
③广义表3.1 广义表的长度和深度求法:
长度的求法为最大括号中的逗号数加一
深度的求法为上面每个元素最大括号匹配数加1
例题:此处链接:如何求广义表的长度和深度
3.2 表头(Head)和表尾(Tail):当广义表非空,第一个元素为广义表的表头,其余元素组成的表示广义表的表尾。
B=(d,e)
取表头元素GetHead(B)=d;取表尾广义表GetTail(B)=(e);
D=(B,C)
取表头元素GetHead(D)=B;取表尾广义表GetTail(D)=(C);
(a)
取表头元素GetHead((a))=a;取表尾广义表GetTail(B)=();
3.3 头尾链表存储结构3.4扩展线性表存储结构
A=()
B=(d,e)
C=(b,(c,d))
D=(B,C)
E=(a,E)
1结点:广义表结点
0结点:原子结点