数组和广义表
2016-03-23 12:48
232 查看
一、数组
数组是一组类型相同的数据元素构成。有一维数组、二维数组、n维数组。一般实现时,可以重载操作符,比较方便一点。
二、矩阵
1、矩阵的加减,需要两个矩阵拥有相同的行列数才可以。对应各个位置分别进行计算
2、矩阵的相乘,需要第一个阵的列数等于第二个的行数。如C(0,0)=A的第一列分别乘以B的第一行相加的结果。
3、特殊矩阵
三对角矩阵、三角矩阵(上三角、下三角)、对称矩阵
三、稀疏矩阵
当m行n列的矩阵含t个非零元素,t/(m*n)<=0.05,则为稀疏矩阵。
通常使用三元组表示法和十字链表示法。当稀疏矩阵的非0元素个数或者位置经常发生变化时用十字链法
四、广义表
1、由多个表元素组成的有限序列。如LS=(A,(A,B),(a,c,m))。一个的为原子元素,其他为子表元素。元素中含有自身的为递归表。
2、深度的定义:相当于广义表中括号的最大嵌套层数。
3、广义表一般采用链式存储,每个节点元素有三个域,分别表示该点的类型、值、下一个节点指针
数组是一组类型相同的数据元素构成。有一维数组、二维数组、n维数组。一般实现时,可以重载操作符,比较方便一点。
二、矩阵
1、矩阵的加减,需要两个矩阵拥有相同的行列数才可以。对应各个位置分别进行计算
2、矩阵的相乘,需要第一个阵的列数等于第二个的行数。如C(0,0)=A的第一列分别乘以B的第一行相加的结果。
3、特殊矩阵
三对角矩阵、三角矩阵(上三角、下三角)、对称矩阵
三、稀疏矩阵
当m行n列的矩阵含t个非零元素,t/(m*n)<=0.05,则为稀疏矩阵。
通常使用三元组表示法和十字链表示法。当稀疏矩阵的非0元素个数或者位置经常发生变化时用十字链法
四、广义表
1、由多个表元素组成的有限序列。如LS=(A,(A,B),(a,c,m))。一个的为原子元素,其他为子表元素。元素中含有自身的为递归表。
2、深度的定义:相当于广义表中括号的最大嵌套层数。
3、广义表一般采用链式存储,每个节点元素有三个域,分别表示该点的类型、值、下一个节点指针