- 3
- 0
- 约5.03千字
- 约 43页
- 2017-06-09 发布于湖北
- 举报
数据结构课件05
用“三元组”表示时如何实现? M矩阵 T矩阵 1 2 14 1 5 -5 2 2 -7 3 1 36 3 4 28 2 1 14 data[2] 2 2 -7 data[3] 为此,需要知道矩阵M的每一列的非零元个数。 如何确定矩阵M中的每一列的第一个非零元在data中的位置? * * 第五章 数组和广义表 精英专升本 5.1 数组的类型定义 5.3 稀疏矩阵的压缩存储 5.2 数组的顺序表示和实现 5.4 广义表的类型定义 5.5 广义表的存储结构 本节所讨论的数组与高级语言中的数组区别: 高级语言中的数组是顺序结构; 而本章的数组既可以是顺序的,也可以是链式结构,用户可根据需要选择。 一、数组的概念 5.1 数组的定义 1.一维数组 一维数组可以看成是一个线性表,但操作简单,一般不进行插入和删除操作,只定义给定下标读取元素和修改元素的操作。 2.二维数组 二维数组可以看成是线性表的推广。 例如,设A是一个有m行n列的二维数组,则A可以表示为: 可以把二维数组看成是一个定长线性表,该线性表的每一个元素也是一个定长线性表 可以将二维数组A看成是由n个列向量A=[α1, α2, ……, αn]组成,其中 αi=(a1i, a2i, …..,ami), 0≤i≤n。 Am×n=((a11a21…am1),(a12a22…am2),…,(a1na2n…amn)) n个元素的线性表 也可以将二维数组A看成是由m个行向量B=[β1,β2, …,βm]T组成,其中,βi=( ai1, ai2, ….,ain), 0≤i≤m Am×n=((a11a12…a1n),(a21a22…a2n),…,(am1am2…amn)) m个元素的线性表 3.多维数组 可以把三维以上的数组称为多维数组。 n维数组中,每个数据元素对应n个下标。可看作是数据元素为n-1维数组的一维数组。 数组的抽象数据类型 ADT Array{ 数据对象:ji=0,…,bi-1, i=1,2,…,n, D={aj1j2…jn| n(0)称为数组的维数,bi是数组第i维的长度,ji是数组元素的第i维下标,aj1j2…jn∈ElemSet} 数据关系:R={R1,R2,…,Rn} Ri={aj1…ji…jn,aj1…ji+1…jn| 0≤jk≤bk-1, 1≤k≤n 且k≠i,0≤ji≤bi-2, aj1…ji…jn,aj1…ji+1…jn∈D,i=2,…n} 基本操作: (1) InitArray (A,n,bound1, ?boundn) //构造数组A (2) DestroyArray (A) // 销毁数组A (3) Value(A,e,index1,…,indexn) //取数组元素值 (4) Assign (A,e,index1,…,indexn) //给数组元素赋 }ADT Array 举例:二维数组的定义: 数据对象: D = {aij | 0≤i≤b1-1, 0 ≤j≤b2-1} 数据关系: R = { ROW, COL } ROW = {ai,j,ai+1,j| 0≤i≤b1-2, 0≤j≤b2-1} COL = {ai,j,ai,j+1| 0≤i≤b1-1, 0≤ j≤b2-2} 5.2 数组的顺序表示和实现 由于数组一般不作插入或删除操作,数组元素个数和元素之间的关系不发生变动,逻辑结构固定。因此,采用顺序存储结构表示数组是顺理成章的事了。 数组的顺序存储结构有两种:一种是按行序存储,如高级语言BASIC、 COBOL和PASCAL语言都是以行序为主;另一种是按列序存储,如高级语言中的FORTRAN语言就是以列序为主显然。 由于计算机的内存结构是一维的,因此用一维内存来表示多维数组,就必须按某种次序将数组元素排成一列序列,然后将这个线性序列存放在存储器中。 一维数组的元素位置(下标从0开始) 35 27 49 18 60 54 77 83 41 02 0 1 2 3 4 5 6 7 8 9 l l l l l LOC(i) = LOC(i-1)+l = a+i*l LOC(i) = LOC(i-1)+l
您可能关注的文档
- 散粉剂生产技术.ppt
- 教育科学研究课题的选题与论证(马开剑滨州学院).ppt
- 敬老院心理服务.pptx
- 数列大题(学生版)+适合高三使用+难度适合中等偏上学生+2015.11.7.doc
- 数和数的运算知识点.docx
- 数字函数波形发生器电路设计154156.doc
- 散文的内涵、类型和特征.ppt
- 数字后端简要流程.ppt
- 数值计算04-插值与拟合.ppt
- 数字电压表设计课程设计.doc
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
原创力文档

文档评论(0)