- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据的存储结构
2008-08-30 17:11:34| 分类: 数据结构 |字号
数据的逻辑结构是从逻辑关系来观察数据,它与数据的存储无关,是独立于计算机的。
计算机的存储器(主存)是由有限多个存储单元组成的,每个存储单元有惟一的地址,各存储单元的地址是连续编码的,每个存储单元Z都有惟一的后续单元Z’=suc(Z)。
Z和Z’称为相邻单元。
一盘相邻的存储单元的整体叫做存储区域,记作M。
Z可以表示一个存储单元,也可以表示该存储单元的地址。
地址Z’=suc(Z)=Z+1。
设有逻辑结构G=(P,R),要把G存储在计算机中,首先必须建立一个从P的结点到M的单元的映像S:P→M,即对于每一个p∈P都有惟一的Z∈M似的S(p)=Z,Z为p结点所占存储空间中的始单元。
用LOC(K)表示结点k对应的存储单元的地址。
有四种基本的存储映像方法:顺序、链接、索引、散列。
1.顺序方法
主要用于线性的数据结构,它把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系体现。
如果结点k所占存储单元的第一个单元为Z,即LOC(K)=Z,而最后一个单元为Z1,那么Z1的后继单元就是Z’=suc(Z)就是k的后继k’的第一存储单元。
【例1】
G=(P,R),P={p1,p2,p3,p4,p5},R={r},r={p1,p2,p2,p3,p3,p4,p4,p5}
假定每个结点占一个存储单元,结点p1存放在200号单元中,则顺序存储实现如图所示。
200 P1 201 P2 202 P3 203 P4 204 P5 注意:一般,每个结点所占的存储单元并不止一个,而且所占单元个数也不一定相等,这是顺序存储存放时就不那么整齐,但仍然是一个接着一个的填满了整个区域。
对非线性的数据结构也可以采用局部线性化的方法实现顺序存储。
2.链接方法
就是给结点附加上指针字段。即,将结点所占的存储单元分为两部分:
(1)数据项存放结点本身的信息。
(2)指针项存放此结点的后继结点所对应的存储单元的地址。
指针项可以包括一个或多个指针,以指向结点的一个或多个后继,或记录其他信息。
例1的逻辑结构也可以用链接方法存储,如图所示:
200 P1 204 201 202 P3 203 203 P4 207 204 P2 202 205 206 207 P5 ∧ 【例2】
逻辑结构为G=(P,R),其中P={p1,p2,p3,p4,p5,p6},R={r},r={p1,p2,p1,p3,p2,p4,p2,p5p3,p6}
用链接方式实现这个逻辑结构,如图所示。在顺序存储表中所有的空间都被结点数据占用了;在链接的存储表中有一部分存储空间存放的是指针。
若所有的存储空间都分配给了数据,则该存储结构叫紧凑结构,如顺序表;否则叫非紧凑结构,如链接表。
结构的存储密度:指数据本身所占的存储量和整个结构所占的存储量之比,即:
d=数据本身所占的存储两/整个结构所占的存储量
紧凑结构的存储密度=1;非紧凑结构的存储密度1。
存储密度越大,存储空间的利用率越高。
但是,存储的附加信息会带来运算上的方便。
3.索引方法
在线性结构中,结点可以排成一个序列:p1,p2,…,pn,每个结点pi在序列里都有对应的位置I,这个位置数就可以作为结点的索引。
索引的存储结构:是用结点的索引号i来确定结点的存储地址。有2种实现方法:
(1)建立附加的索引表,索引表里第i项的值就是第i个结点的存储地址。
(2)当每个结点所占单元个数都相等时,可用位置数的线性函数的值来指出结点对应的存储地址,即第i个结点pi的地址是LOC(pi)=(i-1)*p+q。其中,p为结点所占的单元个数,q为开始结点p1对应的存储地址。
例如:
一维数组A[N],设A[1]的存储地址d,每个数组元素占两个存储单元,那么A[i]的存储地址为:
LOC(A[i])=(i-1)*2+d
4.散列方法
主要思想:根据结点的值来确定它的存储地址。
在结点p的字段里取一个(或几个)字段的值wik作为关键码,结点p对应的存储地址由函数f(即散列函数)确定:
LOC(k)=f(wik)
因此,该方法也叫地址转移法。
用散列法进行存储表示时,P结点p分散地存储在M的存储单元里。
在散列法存储表示中,关键问题:选择散列函数和研究解决碰撞的方法。
这4种基本的方法还可以组合起来对数据结构进行存储映像。
同一个逻辑结构可以有几种不同的存储映像方法,选择哪一种要根据运算的方便来具体确定。
重点:
1.熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之间的关系。分清哪些是逻辑结构的性质,哪些是存储结构的性质。
2.了解抽象数据类型的定义、表示、实现方法。
3.熟悉类C语言
您可能关注的文档
- 数电逻辑运算.ppt
- 数据备份技术介绍.ppt
- 数据存储.doc
- 数据存储设计.doc
- 数据的格式化—课件.ppt
- 数据恢复.ppt
- 数据恢复硬盘开盘全过程 (附图).doc
- 数据计算公式.ppt
- 数据结构 模式匹配算法.ppt
- 数据结构课件第2章.ppt
- 2025年南充文化旅游职业学院单招职业倾向性测试必刷测试卷附答案.docx
- 2024年福州软件职业技术学院单招数学真题附完整答案详解(夺冠).docx
- 2024年福州软件职业技术学院单招数学真题附完整答案详解(夺冠).docx
- 2025年南充文化旅游职业学院单招职业倾向性测试必刷测试卷附答案.docx
- 2025年全国食品安全宣传周主题班会.pptx
- 2024年环境影响评价工程师之环境影响评价相关法律法规考试黑钻押题附参考答案详解【培优】.docx
- 2024年环境影响评价工程师之环境影响评价相关法律法规考前冲刺练习题word附答案详解.docx
- 2025年南京交通职业技术学院单招职业适应性考试题库附答案.docx
- 2025年南充文化旅游职业学院单招职业倾向性测试必刷测试卷附答案.docx
- 2025年南京交通职业技术学院单招职业适应性考试题库附答案.docx
文档评论(0)