多维数组和广义表精选PPT.ppt





《多维数组和广义表精选PPT.ppt》由会员分享,可在线阅读,更多相关《多维数组和广义表精选PPT.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、多维数组和广义多维数组和广义表表第1页,此课件共28页哦n n二维数组中,每个数据元素对应一对数组下标,在二维数组中,每个数据元素对应一对数组下标,在行方向上和列方向上都存在一个线性关系,即存在行方向上和列方向上都存在一个线性关系,即存在两个前驱和两个后继。也可看作是以线性表为数据两个前驱和两个后继。也可看作是以线性表为数据元素的线性表。元素的线性表。n nn n n n维数组中,每个数据元素对应维数组中,每个数据元素对应维数组中,每个数据元素对应维数组中,每个数据元素对应n n n n个下标,受个下标,受个下标,受个下标,受n n n n个关系个关系个关系个关系的制约,其中任一个关系都是线性
2、关系。可看作是的制约,其中任一个关系都是线性关系。可看作是的制约,其中任一个关系都是线性关系。可看作是的制约,其中任一个关系都是线性关系。可看作是数据元素为数据元素为数据元素为数据元素为n-1n-1n-1n-1维数组的一维数组。维数组的一维数组。维数组的一维数组。维数组的一维数组。n n因此,多维数组是对线性表的扩展:线性表中的数因此,多维数组是对线性表的扩展:线性表中的数因此,多维数组是对线性表的扩展:线性表中的数因此,多维数组是对线性表的扩展:线性表中的数据元素本身又是一个多层次的线性表。据元素本身又是一个多层次的线性表。据元素本身又是一个多层次的线性表。据元素本身又是一个多层次的线性表。
3、5.1 5.1 多维数组多维数组第2页,此课件共28页哦n n多维数组用一维的存储单元存放,需约定次序。多维数组用一维的存储单元存放,需约定次序。C C语言是行优先顺序。语言是行优先顺序。n n二维数组中任一元素二维数组中任一元素二维数组中任一元素二维数组中任一元素a a a aijijijij的存储地址的存储地址的存储地址的存储地址:n nn n n n维数组维数组维数组维数组Loc(Loc(Loc(Loc(a a a aijijijij)=Loc()=Loc()=Loc()=Loc(a a a a00000000)+(n*i+j)*d)+(n*i+j)*d)+(n*i+j)*d)+(n*i
4、+j)*d第3页,此课件共28页哦5.2 5.2 矩阵的压缩存储矩阵的压缩存储 压缩存储压缩存储 使用一维数组存储矩阵,并且在一维数组使用一维数组存储矩阵,并且在一维数组中为多个值相同的元素只分配一个存储空间,中为多个值相同的元素只分配一个存储空间,对零元不分配空间。对零元不分配空间。第4页,此课件共28页哦5.2.1 5.2.1 特殊矩阵特殊矩阵n对称矩阵:对称矩阵:a aijij=a=ajiji 0i,jn-1 0i,jn-1u压缩存储方法:为每一对对称元分配一个存储空间压缩存储方法:为每一对对称元分配一个存储空间将下三角的元素,按行存储到一维数组将下三角的元素,按行存储到一维数组sasa
5、中中,共有共有n(n+1)/2n(n+1)/2个存储单元,个存储单元,a aijij在一维数组中的位置在一维数组中的位置k k为:为:i(ii(i1)/2+j 1)/2+j 当当i=ji=j;j(jj(j1)/2+i 1)/2+i 否则否则 第5页,此课件共28页哦特殊矩阵特殊矩阵n三角矩阵三角矩阵:上(下)三角中的元素均为常数:上(下)三角中的元素均为常数c c或或0 0u压缩存储方法:只存储上(下)三角元素。压缩存储方法:只存储上(下)三角元素。u下三角:下三角:k=i*(ik=i*(i1)/2+j(i=j);1)/2+j(i=j);k=n*(n+1)/2 (ij)k=n*(n+1)/2
6、(ij)u上三角:上三角:k=(i/2)*(2n-i+1)+j-i(i=j);k=(i/2)*(2n-i+1)+j-i(ij)k=n*(n+1)/2 (ij)注意:注意:k,i,jk,i,j从零开始从零开始第6页,此课件共28页哦特殊矩阵特殊矩阵n n对角矩阵:所有非零元都集中在以主对角线对角矩阵:所有非零元都集中在以主对角线为中心的带状区域中为中心的带状区域中n n压缩方法:压缩存储到一维数组压缩方法:压缩存储到一维数组sa sa 中,三对角中,三对角矩阵有矩阵有3n-23n-2个元素。个元素。第7页,此课件共28页哦5.2.2 5.2.2 稀疏矩阵稀疏矩阵 已知矩阵已知矩阵已知矩阵已知矩阵
7、A A A Am m m m n n n n,t t t t为非零元个数,若为非零元个数,若为非零元个数,若为非零元个数,若t(mt(mt(mtm=a-n;b-n=a-m;b-t=a-t;if(b-t0)bno=0;for(col=0;coln;col+)for(ano=0;anot;ano+)if(a-dataano.j=col)b-databno.i=a-dataano.j;b-databno.j=a-dataano.i;b-databno.v=a-dataano.v;bno+;return b;第12页,此课件共28页哦2.2.十字链表十字链表n n当矩阵中非零元素的个数和位置经过运算后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多维 数组 广义 精选 PPT

限制150内