数据结构答案(清华大学出版)课件.ppt

数据结构答案(清华大学出版)课件.ppt

ID:57126803

大小:352.00 KB

页数:39页

时间:2020-08-01

数据结构答案(清华大学出版)课件.ppt_第1页
数据结构答案(清华大学出版)课件.ppt_第2页
数据结构答案(清华大学出版)课件.ppt_第3页
数据结构答案(清华大学出版)课件.ppt_第4页
数据结构答案(清华大学出版)课件.ppt_第5页
资源描述:

《数据结构答案(清华大学出版)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、{这是最好的框架代码.^_^}programhello;usesstrings;vari:integer;functionsay_hello(j:integer):boolean;vark:integer;beginfork:=0tojdobeginwrite('hello');end;end;关于上机操作的几点说明框架例子程序:hello.pas1proceduresay_world(m:integer);varn:integer;beginforn:=0tomdobeginwrite('world!');end;end;beginfori:=0to3dobeginifsay_hel

2、lo(i)thenbeginsay_world(i);end;end;writeln(strlen('helloworld!'));end.2数据结构课程的内容3第5章数组和广义表(Arrays&Lists)①元素的值并非原子类型,可以再分解,表中元素也是一个线性表(即广义的线性表)。②所有数据元素仍属同一数据类型。5.1数组的定义5.2数组的顺序表示和实现5.3矩阵的压缩存储5.4广义表的定义5.5广义表的存储结构数组和广义表的特点:一种特殊的线性表45.1数组的定义数组:由一组名字相同、下标不同的变量构成注意:本章所讨论的数组与高级语言中的数组有所区别:高级语言中的数组是顺序结构;

3、而本章的数组既可以是顺序的,也可以是链式结构,用户可根据需要选择。答:对的。因为:①数组中各元素具有统一的类型;②数组元素的下标一般具有固定的上界和下界,即数组一旦被定义,它的维数和维界就不再改变。③数组的基本操作比较简单,除了结构的初始化和销毁之外,只有存取元素和修改元素值的操作。讨论:“数组的处理比其它复杂的结构要简单”,对吗?5二维数组的特点:一维数组的特点:1个下标,ai是ai+1的直接前驱2个下标,每个元素ai,j受到两个关系(行关系和列关系)的约束:一个m×n的二维数组可以看成是m行的一维数组,或者n列的一维数组。N维数组的特点:n个下标,每个元素受到n个关系约束一个n维数

4、组可以看成是由若干个n-1维数组组成的线性表。a11a12…a1na21a22…a2n………… am1am2…amnAmn=6N维数组的数据类型定义n_ARRAY=(D,R)其中:Ri={

5、aj1,j2,…ji…jn,aj1,j2,…ji+1…jnD}数据关系:R={R1,R2,….Rn}数据对象:D={aj1,j2…jn

6、ji为数组元素的第i维下标,aj1,j2…jnElemset}构造数组、销毁数组、读数组元素、写数组元素基本操作:75.2数组的顺序存储表示和实现问题:计算机的存储结构是一维的,而数组一般是多维的,怎

7、样存放?解决办法:事先约定按某种次序将数组元素排成一列序列,然后将这个线性序列存入存储器中。例如:在二维数组中,我们既可以规定按行存储,也可以规定按列存储。注意:若规定好了次序,则数组中任意一个元素的存放地址便有规律可寻,可形成地址计算公式;约定的次序不同,则计算元素地址的公式也有所不同;C和PASCAL中一般采用行优先顺序;FORTRAN采用列优先。8补充:计算二维数组元素地址的通式设一般的二维数组是A[c1..d1,c2..d2],这里c1,c2不一定是0。无论规定行优先或列优先,只要知道以下三要素便可随时求出任一元素的地址(这样数组中的任一元素便可以随机存取!):二维数组列优先存

8、储的通式为:LOC(aij)=LOC(ac1,c2)+[(j-c2)*(d1-c1+1)+i-c1)]*Lac1,c2…ac1,d2…aij… ad1,c2…ad1,d2Amn=单个元素长度aij之前的行数数组基址总列数,即第2维长度aij本行前面的元素个数①开始结点的存放地址(即基地址)②维数和每维的上、下界;③每个数组元素所占用的单元数则行优先存储时的地址公式为:LOC(aij)=LOC(ac1,c2)+[(i-c1)*(d2-c2+1)+j-c2)]*L9例2:已知二维数组Am,m按行存储的元素地址公式是: Loc(aij)=Loc(a11)+[(i-1)*m+(j-1)]*K,

9、按列存储的公式是?Loc(aij)=Loc(a11)+[(j-1)*m+(i-1)]*K(尽管是方阵,但公式仍不同)例1〖软考题〗:一个二维数组A,行下标的范围是1到6,列下标的范围是0到7,每个数组元素用相邻的6个字节存储,存储器按字节编址。那么,这个数组的体积是个字节。288例3:〖00年计算机系考研题〗设数组a[1…60,1…70]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为。89

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。