408数据结构:数组,矩阵,广义表

①数组
a[行][列]
(1)分为按优先,按优先
在这里插入图片描述例题:
在这里插入图片描述
②矩阵
(1)对称矩阵:矩阵中的元素满足a[i][j]=a[j][i]的矩阵称之为对称矩阵(矩阵必须是nn的方阵)
例题:假设有一个n
n的对称矩阵,第一个元素为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结点:原子结点
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/atian1/article/details/108886780