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

①数组
a[行][列]
(1)分为按优先,按优先
408数据结构:数组,矩阵,广义表_第1张图片例题:
408数据结构:数组,矩阵,广义表_第2张图片
②矩阵
(1)对称矩阵:矩阵中的元素满足a[i][j]=a[j][i]的矩阵称之为对称矩阵(矩阵必须是nn的方阵)
例题:假设有一个n
n的对称矩阵,第一个元素为a[0][0],请用一种存储效率高的形式将其存储在一维数组中。
408数据结构:数组,矩阵,广义表_第3张图片
(2)三角矩阵:分为上三角矩阵,下三角矩阵
408数据结构:数组,矩阵,广义表_第4张图片例题:假设有一个n*n的三角矩阵,第一个元素为a[0][0],请用一种存储效率高的形式将其存储在一维数组中
408数据结构:数组,矩阵,广义表_第5张图片
(3)对角矩阵
408数据结构:数组,矩阵,广义表_第6张图片此处过,考的不多,考了就pass掉做别的题目
例题:
408数据结构:数组,矩阵,广义表_第7张图片408数据结构:数组,矩阵,广义表_第8张图片(4)稀疏矩阵:0比较多的矩阵
408数据结构:数组,矩阵,广义表_第9张图片稀疏矩阵的三种表示方法:
4.1三元组表示法
408数据结构:数组,矩阵,广义表_第10张图片408数据结构:数组,矩阵,广义表_第11张图片
408数据结构:数组,矩阵,广义表_第12张图片408数据结构:数组,矩阵,广义表_第13张图片

4.2邻接表表示法(链式存储)
408数据结构:数组,矩阵,广义表_第14张图片

4.3十字链表表示法(链式存储)
408数据结构:数组,矩阵,广义表_第15张图片
③广义表
408数据结构:数组,矩阵,广义表_第16张图片3.1 广义表的长度和深度求法:
长度的求法为最大括号中的逗号数加一
深度的求法为上面每个元素最大括号匹配数加1

例题:
408数据结构:数组,矩阵,广义表_第17张图片此处链接:如何求广义表的长度和深度
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 头尾链表存储结构
408数据结构:数组,矩阵,广义表_第18张图片408数据结构:数组,矩阵,广义表_第19张图片408数据结构:数组,矩阵,广义表_第20张图片408数据结构:数组,矩阵,广义表_第21张图片408数据结构:数组,矩阵,广义表_第22张图片3.4扩展线性表存储结构
A=()
B=(d,e)
C=(b,(c,d))
D=(B,C)
E=(a,E)
1结点:广义表结点
0结点:原子结点
408数据结构:数组,矩阵,广义表_第23张图片

你可能感兴趣的:(408数据结构)