数据结构(C语言版)---数组、广义表和压缩存储
2021-02-04 16:14
标签:多个 矩阵 压缩 height nbsp idt sub -- 分配 1、数组:由n个相同类型的数据元素构成的有限序列。 2、一维数组可视为一个线性表,二维数组可视为元素是线性表的线性表。 3、一维数组的存储结构关系式 LOC(ai)=LOC(a0)+i*L;L是每个数组元素所占的存储单元。 多维数组的存储有两种:按行优先和按列优先。 4、压缩存储:为多个值相同的元素只分配一个存储空间,对零元素不分配存储空间。 5、特殊矩阵:如对称矩阵、三角矩阵、对角矩阵(又称带状矩阵)。 6、对称矩阵:一维数组存储,假设只存放主对角线和下三角区的元素。i为行,j为列。 元素下标的关系:k=i(i-1)/2+j-1(i>=j,下三角区和主对角线元素);k=j(j-1)/2+i-1(i 7、三角矩阵: 1)下三角矩阵 元素与下标的关系:k=i(i-1)/2+j-1(i>=j,下三角区和主对角线元素);k=n(n+1)/2(i 2)上三角矩阵 元素与下标的关系:k=(i-1)(2n-i+2)/2+j-i(ij,下三角区元素)。 8、三对角矩阵:所有非零元素都集中在以主对角线为中心的3条对角线区域,其他区域的元素为0。 元素与下标的关系:k=2i+j-3。 9、稀疏矩阵:采用三元组存储元素。 10、广义表,LS=(s1,a2,...,an),LS为广义表的名称,n为广义表的长度,ai为单个元素或广义表,分别称为原子和子表。 LS非空时,a1为表头,其余元素组成的表称为表尾。 例子: A=():A为空表,长度为0。 B=(e):广义表B只有一个原子e,长度为1。 C=(a,(b,c,d)):广义表C,两个元素分别为原子a,子表(b,c,d),长度为2。 D=(A,B,C):广义表D,三个元素均是子表,长度为3。 E=(a,E):广义表E,E为递归表,长度为2。 F=(()):广义表F,长度为1,表头表尾均为空表。 数据结构(C语言版)---数组、广义表和压缩存储 标签:多个 矩阵 压缩 height nbsp idt sub -- 分配 原文地址:https://www.cnblogs.com/xqy1874/p/12793185.html
a1,1(第一行)
a2,1
a2,2(第二行)
a3,1
a3,2
a3,3(第三行)
...
an,1
an,2
...
an,n(第n行)
c(常数项)
a1,1
a1,2
...
a1,n(第一行)
a2,2
a2,3
...
a2,n(第二行)
...
an,n(第n行)
c(常数项)
a1,1
a1,2
a2,1
a2,2
a2,3
...
an-1,n
an,n-1
an,n
文章标题:数据结构(C语言版)---数组、广义表和压缩存储
文章链接:http://soscw.com/index.php/essay/50962.html