第五章数组(Array).ppt
《第五章数组(Array).ppt》由会员分享,可在线阅读,更多相关《第五章数组(Array).ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章第五章 数组数组(Array)数组的定义及其基本操作数组的定义及其基本操作数组的存储结构数组的存储结构矩阵的压缩存储矩阵的压缩存储数据结构(数据结构(Data Structure)定义及其操作定义:是是n(n1)个个相同类型相同类型数据元素数据元素a0,a1,an-1构成的构成的有限有限序列,且该有限序列存储在一块序列,且该有限序列存储在一块地址连续地址连续的内存单元的内存单元中。中。在一维数组中,任一数据元素在一维数组中,任一数据元素ai的存储地址的存储地址Loc(ai)可以通可以通过过a0的地址的地址Loc(a0)以及每个数据元素存储单元以及每个数据元素存储单元k由下式确由下式确定:
2、定:数组满足随机存储特性数组满足随机存储特性可以证明可以证明:数组具有以下性质:(1 1)数组中的数据元素数目)数组中的数据元素数目固定固定。(2 2)数组中的数据元素具有)数组中的数据元素具有相同相同的数据类型。的数据类型。(3 3)数组中的每个数据元素都和一组)数组中的每个数据元素都和一组唯一唯一的下标值的下标值对应。对应。(4 4)数组是一种)数组是一种随机存储随机存储结构。结构。.数组的基本操作:一般地,不对数组进行插入和删除操作1.随机存。随机存。2.2.随机取随机取。(基本操作)3.数组列表。4.矩阵运算。(部分高级语言支持)存储结构一维数组:存储结构关系式为:二维及多维数组:通常
3、有两种排序方式:通常有两种排序方式:1、行优先序列:将多维数组元素按行排列、行优先序列:将多维数组元素按行排列在PASCAL、C语言中,数组就是按行优先顺序存储的。2、列优先序列:将多维数组元素按列排列、列优先序列:将多维数组元素按列排列在FORTRAN语言中,数组就是按列优先顺序存储的。数组的静态存储分配和动态存储分配(p102)例,二维数组二维数组Amn按按“行优先顺序行优先顺序”存储在内存中,假设每个元素占用存储在内存中,假设每个元素占用d个存储单元。则元素个存储单元。则元素aij的存储地址为:的存储地址为:LOC(aij)=LOC(a00)+i*n+j*d如果按如果按“列优先顺序列优先
4、顺序”,则为:,则为:LOC(aij)=LOC(a00)+j*m+i*d同样,三维数组同样,三维数组Amnp按按“行优先顺序行优先顺序”存储,则存储,则Aijk地址计算函数为:地址计算函数为:LOC(aijk)=LOC(a000)+i*n*p+j*p+k*d矩阵的压缩存储 在科学与工程计算问题中,矩阵是一种常用的数学对象,在高在科学与工程计算问题中,矩阵是一种常用的数学对象,在高级语言编制程序时,简单而又自然的方法,就是将一个矩阵描级语言编制程序时,简单而又自然的方法,就是将一个矩阵描述为一个二维数组。矩阵在这种存储表示之下,可以对其元素述为一个二维数组。矩阵在这种存储表示之下,可以对其元素进
5、行随机存取,各种矩阵运算也非常简单,并且存储的密度为进行随机存取,各种矩阵运算也非常简单,并且存储的密度为1 1。但是在矩阵中非零元素呈某种规律分布或者矩阵中出现大。但是在矩阵中非零元素呈某种规律分布或者矩阵中出现大量的零元素的情况下,看起来存储密度仍为量的零元素的情况下,看起来存储密度仍为1 1,但实际上占用,但实际上占用了许多单元去存储重复的非零元素或零元素,这对高阶矩阵会了许多单元去存储重复的非零元素或零元素,这对高阶矩阵会造成极大的浪费,为了节省存储空间,造成极大的浪费,为了节省存储空间,我们可以对这类矩阵我们可以对这类矩阵进行进行压缩存储压缩存储:即为多个相同的非零元素只分配一个存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 数组Array 第五 数组 Array
限制150内