欢迎来到天天文库
浏览记录
ID:41282008
大小:524.06 KB
页数:36页
时间:2019-08-21
《《线性结构数组》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三节数组数组1.数组的逻辑结构定义以及存储方式2.了解特殊结构的矩阵:如三角矩阵,三对角阵和稀疏矩阵的存储及其相应的运算。本节重点a1a11a12……..a1na2a21a22……..a2namam1am2……..amn………………….ai=(ai1,ai2,……..,ain)(1<=i<=m)一、数组的概念二维数组可以看成是一个复杂的线性表二、数组的顺序存储结构计算机的内存结构是一维的,因此将数组元素排成线性序列,然后将这个线性序列存放在存储器中行优先顺序:把数组按一行一行的顺序依次排列。列
2、优先顺序:就是把数组按一列列的顺序依次排列。多维数组的顺序存储结构——按行优先顺序存放a11a12a13a14a15a21a22a23a24a25a31a32a33a34a35a41a42a43a44a45存放在计算机内:mna11a12a13a14a15a21a22…a43a44a45地址的计算方法——二维按行优先顺序存放a11a12a13a14a15a21a22a23a24a25a31a32a33a34a35a41a42a43a44a45存放在计算机内:mj-1aiji-1na11a12a1
3、3a14a15a21a22…a43a44a45Loc(aij)=Loc(a11)+(i-1)*n+(j-1)(1<=i<=m,1<=j<=n)aij前的元素个数地址的计算方法——二维按行优先顺序存放LOC(Aij)=LOC(A00)+(i×n+j)×L(0≤i4、m,n)a111a112a113…a121a122…a145a211a212…a344a345把三维数组看成是叠在一起的一张张卡片,先把第一张按行优先顺序放入计算机,接着放第二张,直到放完。地址的计算方法——三维按行优先顺序存放a111a112a113a114a115a121a122a123a124a125a131a132a133a134a135a141a142a143a144a145mln三维数组A(l,m,n)A(3,4,5)k-1aijkj-1i-1Loc(aijk)=Loc(a111)+5、(i-1)*m*n+(j-1)*n+(k-1)(1<=i<=l,1<=j<=m,1<=k<=n)多维数组的顺序存储结构——按列优先顺序存放a11a12a13a14a15a21a22a23a24a25a31a32a33a34a35a41a42a43a44a45存放在计算机内:mna11a21a31a41a12a22a32…a25a35a45地址的计算方法——二维按列优先顺序存放a11a12a13a14a15a21a22a23a24a25a31a32a33a34a35a41a42a43a44a45存6、放在计算机内:mj-1aiji-1na11a21a31a41a12a22a32…a25a35a45Loc(aij)=Loc(a11)+(j-1)*m+(i-1)(1<=i<=m,1<=j<=n)三维数组按列优先顺序存放a111a112a113a114a115a121a122a123a124a125a131a132a133a134a135a141a142a143a144a145存放在计算机内:mln三维数组A(l,m,n)A(3,4,5)a111a211a311…a121a221…a341a1127、a212…a244a345把三维数组看成是叠在一起的一张张卡片,先把第一张按列优先顺序放入计算机,接着放第二张,直到放完。地址的计算方法——三维按列优先顺序存放mln三维数组A(l,m,n)A(3,4,5)k-1aijkj-1i-1Loc(aijk)=Loc(a111)+(k-1)*l*m+(j-1)*l+(i-1)(1<=i<=l,1<=j<=m,1<=k<=n)随机存储结构因为在顺序存储的情况下,每一个元素都有与其下标相对应的地址,因此可以对数组中的元素进行随机存储。特殊矩阵的压缩存储指非零8、元素或零元素分布有一定规律的矩阵。下三角阵三对角阵稀疏矩阵a1100……..0a21a220……..0an1an2an3……..ann………………….0A=按行优先存放{a11,a21,a22,a31,a32,…,an1,an2,…,ann}故:求非零元素aij的地址:Loc(aij)=Loc(a11)+i(i-1)/2+(j-1)(1<=j<=i<=n)前i-1行非零元素个数为1+2+3+…+i-1=∑R=i(i-1)2i-1R=1下三角阵aija11a120…………………………..0a21a
4、m,n)a111a112a113…a121a122…a145a211a212…a344a345把三维数组看成是叠在一起的一张张卡片,先把第一张按行优先顺序放入计算机,接着放第二张,直到放完。地址的计算方法——三维按行优先顺序存放a111a112a113a114a115a121a122a123a124a125a131a132a133a134a135a141a142a143a144a145mln三维数组A(l,m,n)A(3,4,5)k-1aijkj-1i-1Loc(aijk)=Loc(a111)+
5、(i-1)*m*n+(j-1)*n+(k-1)(1<=i<=l,1<=j<=m,1<=k<=n)多维数组的顺序存储结构——按列优先顺序存放a11a12a13a14a15a21a22a23a24a25a31a32a33a34a35a41a42a43a44a45存放在计算机内:mna11a21a31a41a12a22a32…a25a35a45地址的计算方法——二维按列优先顺序存放a11a12a13a14a15a21a22a23a24a25a31a32a33a34a35a41a42a43a44a45存
6、放在计算机内:mj-1aiji-1na11a21a31a41a12a22a32…a25a35a45Loc(aij)=Loc(a11)+(j-1)*m+(i-1)(1<=i<=m,1<=j<=n)三维数组按列优先顺序存放a111a112a113a114a115a121a122a123a124a125a131a132a133a134a135a141a142a143a144a145存放在计算机内:mln三维数组A(l,m,n)A(3,4,5)a111a211a311…a121a221…a341a112
7、a212…a244a345把三维数组看成是叠在一起的一张张卡片,先把第一张按列优先顺序放入计算机,接着放第二张,直到放完。地址的计算方法——三维按列优先顺序存放mln三维数组A(l,m,n)A(3,4,5)k-1aijkj-1i-1Loc(aijk)=Loc(a111)+(k-1)*l*m+(j-1)*l+(i-1)(1<=i<=l,1<=j<=m,1<=k<=n)随机存储结构因为在顺序存储的情况下,每一个元素都有与其下标相对应的地址,因此可以对数组中的元素进行随机存储。特殊矩阵的压缩存储指非零
8、元素或零元素分布有一定规律的矩阵。下三角阵三对角阵稀疏矩阵a1100……..0a21a220……..0an1an2an3……..ann………………….0A=按行优先存放{a11,a21,a22,a31,a32,…,an1,an2,…,ann}故:求非零元素aij的地址:Loc(aij)=Loc(a11)+i(i-1)/2+(j-1)(1<=j<=i<=n)前i-1行非零元素个数为1+2+3+…+i-1=∑R=i(i-1)2i-1R=1下三角阵aija11a120…………………………..0a21a
此文档下载收益归作者所有