§5.1 数组的定义
多维数组的理解
typedef ElemType Array2[m][n];
//等价于typedef ElemType Array1[n];typedef Array1 Array2[m];
即一个n维数组类型可以定义为其数据元素为(n-1)维数组类型的一维数组类型。
数组一旦被定义,它的维度和维界就不再改变,因此除了结构的初始化和销毁之外,数组只有存取元素和修改元素值的操作。
§5.2数组的顺序表示和实现
多维数组的空间分配,有以列序为主序(FORTRAN)或以行序为主序(C,Pascal)
(以行序为主序即a00,a01,a02,...,a10,...)
n维数组的数据元素储存位置的计算公式(bi表示第i维的长度 L表示每个元素占的储存单元)
LOC(j1,j2,jn) = LOC(0,0) +(b2*...*bn*j1+b3*...*bn*j2+...+bn*jn-1+jn)L
可以缩写成LOC(j1,0) + c1j1+c2j2+...+cnjn
其中cn=L,c(i-1)=bi*ci (1<i<=n)
上式称为n维数组的映像函数
§5.3 矩阵的压缩储存
待补充...
§5.4 广义表的定义
广义表是线性表的推广,也称列表。广义表既可以是单个元素(原子),也可以是广义表(子表)
第一个元素称为表头 其余元素称为表尾
①列表结构可以用树来表示
②列表可以为其他列表所共享
③列表可以使一个递归的表(无限递归)
§5.5 广义表的存储结构
§5.6 m元多项式的表示
§5.7 广义表的递归算法
待补充...
原文地址:https://www.jb51.cc/datastructure/382714.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。