数据结构复习要点第五章多维数组和广义表
编辑整理:浙江自考网 发表时间:2018-05-23 【大 中 小】
数组一般用顺序存储的方式表示。存储的方式有: ·行优先顺序,也就是把数组逐行依次排列。PASCAL、C
·列优先顺序,就是把数组逐列依次排列。FORTRAN
地址的计算方法: ·按行优先顺序排列的数组:LOCa(ij)=LOCa(11)+((i-1)*n+(j-1))*d。
·按列优先顺序排列的数组:LOCa(ij)=LOCa(11)+((j-1)*n+(i-1))*d。
矩阵的压缩存储:为多个相同的非零元素分配一个存储空间;对零元素不分配空间。
特殊矩阵的概念:所谓特殊矩阵是指非零元素或零元素分布有一定规律的矩阵。
稀疏矩阵的概念:一个矩阵中若其非零元素的个数远远小于零元素的个数,则该矩阵称为稀疏矩阵。特殊矩阵的类型: ·对称矩阵:满足a(ij)=a(ji)。元素总数n(n+1)/2。I=max(i,j),J=min(i,j),LOCa(ij)=LOC(sa[0])+(I*(I+1)/2+J)*d。
·三角矩阵: ·上三角阵:k=i*(2n-i+1)/2+j-i,LOCa(ij)=LOC(sa[0])+k*d。
·下三角阵:k=i*(i+1)/2+j,LOCa(ij)=LOC(sa[0])+k*d。
·对角矩阵:k=2i+j,LOCa(ij)=LOC(sa[0])+k*d。
稀疏矩阵的压缩存储方式用三元组表把非零元素的值和它所在的行号列号做为一个结点存放在一起,用这些结点组成的一个线性表来表示。但这种压缩存储方式将失去随机存储功能。加入行表记录每行的非零元素在三元组表中的起始位置,即带行表的三元组表。
广义表是n(n≥0)个元素的有限序列,其中的元素是原子或者是一个广义表。
广义表表头和表尾的概念: ·若广义表LS非空(n≥1),则这个广义表的第一个元素就是表头。
·其余的元素组成的表称为LS的表尾,所以表尾必是一个子表。
广义表有两种表示法,一种是括号表示法,一种是图形表示法。
广义表与树(形结构)相对应,这个广义表就是纯表。
如果一个广义表的结点又可以被其他结点所共享,则这个表称为再入表。
允许递归的表称为递归表。
线性表∈纯表(树)∈再入表∈递归表 。可见,广义表是对线性表和树的推广。
广义表有两个特殊的基本运算: ·取表头head(LS):取表中的第一个数据元素,不能对空表操作。
·取表尾tail(LS);取除表头外,其余数据元素构成的子表,不能对空表操作。
浙江自考网课程中心
浙江自考网声明:
1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。
2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。