数据结构数组精品文稿.ppt
《数据结构数组精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据结构数组精品文稿.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构数组第1页,本讲稿共42页定义:定义:相同类型的数据元素的集合。相同类型的数据元素的集合。一维数组的一维数组的示例:示例:35 27 49 18 60 54 77 83 41 020 1 2 3 4 5 6 7 8 9一维数组一维数组2.4.1 数组的定义数组的定义第2页,本讲稿共42页数组的定义和初始化数组的定义和初始化main()int a13=3,5,7,*elem;for(int i=0;i 3;i+)printf(“%d”,a1i,“n”);/静态数组静态数组 elem=a1;for(int i=0;i 0 a,i=0 a+i*la2.4.1 数组的定义数组的定义第4页,本讲
2、稿共42页二维数组:二维数组:类似于线性表,一个二维数组的逻辑结构可形式类似于线性表,一个二维数组的逻辑结构可形式地表示为:地表示为:2_Array=(D,R)D=aij(i=0,1,m-1,j=0,1,n-1),aij是同类型数据元素的是同类型数据元素的集合。集合。R=ROW,COL是数据元素上关系的集合。是数据元素上关系的集合。2.4.1 数组的定义数组的定义a11 a12 a13 a1na21 a22 a23 a2nam1 am2 am3 amn ai,j-1 aij ai,j+1 ai-1,j ai+1,j Am,n=第5页,本讲稿共42页a aij ij受行列两个关系的约束:第受行列
3、两个关系的约束:第受行列两个关系的约束:第受行列两个关系的约束:第i i行的行向量,第行的行向量,第行的行向量,第行的行向量,第j j列的列向量。列的列向量。列的列向量。列的列向量。ROW=|0 i m-1,0 j n-2每一行上的列关系。每一行上的列关系。a aij ij的行前趋的行前趋的行前趋的行前趋a ai,j-1i,j-1,a aij ij的行后继的行后继的行后继的行后继a a i,j+1i,j+1COL=|0 i m-2,0 j n-1每一列上的行关系。每一列上的行关系。a aij ij的列前趋的列前趋的列前趋的列前趋a ai-1,ji-1,j,a aij ij的列后继的列后继的列后
4、继的列后继a a i+1,ji+1,j2.4.1 数组的定义数组的定义第6页,本讲稿共42页行行优先存放优先存放(例:例:pascal、C语言语言):设数组开始存放位置设数组开始存放位置 LOC(0,0)=a,每个元素占用每个元素占用 l 个存储单元个存储单元 LOC(i,j)=a+(i n+j)l2.4.2 数组的顺序存储结构数组的顺序存储结构约定存放次序:约定存放次序:因为计算机的存储单元是一维的,数组可以因为计算机的存储单元是一维的,数组可以是多维的,所以必须约定存放次序。是多维的,所以必须约定存放次序。第7页,本讲稿共42页n n列列优先存放优先存放(例:例:Fortran Fortr
5、an语言语言):设数组开始存放位置设数组开始存放位置 LOC(0,0)=a,每个元素占用每个元素占用 l 个个存储单元存储单元 LOC(i,j)=a+(j m+i)l2.4.2 数组的顺序存储结构数组的顺序存储结构第8页,本讲稿共42页三维数组:三维数组:各维元素个数为各维元素个数为 m1,m2,m3下标为下标为 i1,i2,i3的数组元素的存储地址:的数组元素的存储地址:(按页按页/行行/列存放列存放)LOC(i1,i2,i3)=a+(i1 m2 m3+i2 m3+i3)*l 前前i1页总页总元素个数元素个数第第i1页的页的前前i2行总行总元素个数元素个数2.4.2 数组的顺序存储结构数组的
6、顺序存储结构第第i1页的页的第第i2行行i3列列前前元素个元素个数数第9页,本讲稿共42页下标为下标为 i1,i2,i3的数组元素的存储地址:的数组元素的存储地址:(按列按列/行行/页存放页存放)LOC(i1,i2,i3)=a+(i3 m1 m2+i2 m1+i1)*l 前前i3列总列总元素个数元素个数第第i3列的列的前前i2行总行总元素个数元素个数2.4.2 数组的顺序存储结构数组的顺序存储结构第第i3列的列的第第i2行行i1页页前前元素个元素个数数第10页,本讲稿共42页 n 维数组:维数组:各维元素个数为各维元素个数为m1,m2,m3,mn 下标为下标为 i1,i2,i3,in 的数组元
7、素的存储地址:的数组元素的存储地址:LOC(i1,i2,in)=a+(i1 m2 m3 mn+i2 m3 m4 mn+in-1 mn+in)l 2.4.2 数组的顺序存储结构数组的顺序存储结构第11页,本讲稿共42页 二维数组二维数组 三维数组三维数组 行向量行向量 下标下标 i1 页向量页向量 下标下标 i1 列向量列向量 下标下标 i2 行向量行向量 下标下标 i2 列向量列向量 下标下标 i3第12页,本讲稿共42页特殊矩阵的压缩存储特殊矩阵的压缩存储特殊矩阵:特殊矩阵:是指非零元素的分布有一定规律是指非零元素的分布有一定规律/大量零元素的矩阵。大量零元素的矩阵。压缩存储:压缩存储:针对
8、阶数很高的特殊矩阵。为节省针对阶数很高的特殊矩阵。为节省存储空间,可以不存储零元素或对称元素。存储空间,可以不存储零元素或对称元素。对称矩阵对称矩阵 三对角矩阵三对角矩阵2.4.2 数组的顺序存储结构数组的顺序存储结构第13页,本讲稿共42页对称矩阵的压缩存储对称矩阵的压缩存储设有一个设有一个 n n 的对称矩阵的对称矩阵 A。在矩阵中,在矩阵中,aij=aji2.4.2 数组的顺序存储结构数组的顺序存储结构第14页,本讲稿共42页 为节约存储空间,只存对角线及对角线以为节约存储空间,只存对角线及对角线以上的元素,或者只存对角线及对角线以下的上的元素,或者只存对角线及对角线以下的元素。前者称为
9、元素。前者称为上三角矩阵上三角矩阵,后者称为,后者称为下三下三角矩阵角矩阵。把它们按行存放于一个一维数组把它们按行存放于一个一维数组 B 中,称中,称之为对称矩阵之为对称矩阵 A 的压缩存储方式。的压缩存储方式。数组数组 B 共有共有 n+(n-1)+1=n(n+1)/2个元素。个元素。2.4.2 数组的顺序存储结构数组的顺序存储结构第15页,本讲稿共42页上三角矩阵下三角矩阵第16页,本讲稿共42页下三角矩阵B a00 a10 a11 a20 a21 a22 a30 a31 a32 an-1n-1 0 1 2 3 4 5 6 7 8 n(n+1)/2-1若若 i j,数组元素数组元素Aij在
10、数组在数组B中的存放位置为中的存放位置为 1+2+i+j=(i+1)i/2+j前前i行元素总数行元素总数 第第i行第行第j个元素前元素个数个元素前元素个数第17页,本讲稿共42页 若若ij,数组元素,数组元素 Aij 在矩阵的上三角部分在矩阵的上三角部分,在数组在数组 B 中没有存放,可以找它的对称元素:中没有存放,可以找它的对称元素:Aji:=j(j+1)/2+i 若已知某矩阵元素位于数组若已知某矩阵元素位于数组B的第的第k个位置,可寻找满个位置,可寻找满足足i(i+1)/2 k (i+1)(i+2)/2的的 i(行号行号),j=k-i (i+1)/2 (列号列号)例例:当当 k=8,3 4
11、/2=6 k j,数组元素,数组元素Aij在矩阵的下三角部分,在矩阵的下三角部分,在数组在数组 B 中没有存放。因此,找它的对称元中没有存放。因此,找它的对称元素素Aji。Aji在数组在数组 B 的第的第(2 n-j-1)j/2+i 的位的位置中找到。置中找到。2.4.2 数组的顺序存储结构数组的顺序存储结构第20页,本讲稿共42页三对角矩阵的压缩存储三对角矩阵的压缩存储B a00 a01 a10 a11 a12 a21 a22 a23 an-1n-2 an-1n-1 0 1 2 3 4 5 6 7 8 9 102.4.2 数组的顺序存储结构数组的顺序存储结构第21页,本讲稿共42页 三对角矩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 数组 精品 文稿
限制150内