数据结构-8 数组矩阵和广义表

数组:具有相同类型的数据元素的集合 
一维数组不说了,二维数组——套娃数组[][]

体会一下 
typedef int arra1[n]
typedef array1 array2[m]

数组特点:结构固定——维度和维界不变,没有那些乱七八糟的操作 
一般采取顺序存储结构来表示数组
感觉还是比较简单的

假设有一个二维数组A[m][n]按行优先顺序存储,A[0][0]存放位置在64410),
A[2][2]存放在位置67610),每个元素占一个空间,问A[3][3]10)存放在什么位置?
//(10)表示用十进制表示 

A[2][2]前面总共有(2n+2)个元素 
Loc(22= Loc(00+ 2 * n + 2  = 644 + 2 * n + 2 =676 
n = 15 

矩阵、广义表建议看书

对称矩阵n*n
只存储上(下)三角包括对角线上的元素,共(1+n)n/2

三角矩阵
对角线以上或以下的数据元素,不包括对角线全部为Constant
 
稀疏矩阵
就是数据较少的矩阵,用三元组、十字链表 

广义表:每一个元素可以是原子,也可以是一个广义表(递归) 
Ls = (a1,a2,……,an)
表头:若Ls非空,则第一个元素就是表头(可以是原子或广义表) 
表尾:除了表头之外的其他元素组成的表表表表表
长度:最外层所包含的元素个数
深度:站卡课后所含的括号重数(原子0,空表1

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fly_ship/article/details/109606070