- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
山东大学管理学院 戚桂杰 姚云鸿 数据结构 第8章 文件 山东大学管理学院 戚桂杰 姚云鸿 * 山东大学管理学院 戚桂杰 姚云鸿 * 本章内容 文件概述 顺序文件 直接文件 索引文件倒排文件 * 山东大学管理学院 戚桂杰 姚云鸿 * § 1 文件概述 一、 文件的概念 域(Field)是数据的基本单位,又称为字段或数据项。域通常用于描述数据对象的属性,不可分割的域含有一个简单的值。 记录(Record)是一组相关域的集合,它可以看作是应用程序的一个单元。根据设计的不同,记录可以是固定长或可变长。如果记录中某些域的长度是可变的,则该记录就是可变长度的记录。 文件(File)是由大量性质相同的记录组成的集合,它被应用程序看作是一个实体。文件有一个惟一的名字,可以被创建或删除。 数据库(Database)是一组相关的数据,它的本质特征是数据单元间存在明确的关系,并且设计成可供许多不同的应用程序使用。数据库自身是由一种或多种不同类型的文件组成。 * 山东大学管理学院 戚桂杰 姚云鸿 * 二、文件的逻辑结构 文件的逻辑结构是用户能观察到的,可加以处理的数据集合。 文件的逻辑结构分两种形式:一种是流式文件,另一种是记录式文件。 记录成组与分解处理 流式文件指文件内的数据不再组织成记录,只是连续的字符序列。 记录式文件是指若干逻辑记录(按信息在逻辑上的独立含意划分的一个信息单位)的集合。 逻辑记录1 逻辑记录2 逻辑记录3 物理记录 逻辑记录 用户缓冲区 系统缓冲区 * 山东大学管理学院 戚桂杰 姚云鸿 * 三、 文件的物理结构 构造文件物理结构的方法:计算法和指针法。 四、文件的操作 记录检索 记录插入 记录删除 记录更新 文件排序 实现原理是设计映射算法,通过对记录关键字的计算转换成对应的物理块地址,从而找到所需记录。 置专门指针,指明相应记录的物理地址或表达各记录之间的关联。 * 山东大学管理学院 戚桂杰 姚云鸿 * § 2 顺序文件 分块块插值查找 算法: (1)初始化 low = 1;high=N。 (2)反复执行下面操作,直到high<low成立 (a)i = (b)读取第i个物理块,获得Li和Hi (c)分下面三种情况执行 Li≤K≤Hi时,查找成功,第i个物理块即为所求; K>Hi时,执行low = i+1; K<Li时,执行high = i-1; (3)查找失败,算法结束。 low:查找范围内的最小物理块号; high: 查找范围内的最大物理块号; Li:第i个物理块内的记录的最小关键字; Hi:第i个物理块内的记录的最大关键字 * 山东大学管理学院 戚桂杰 姚云鸿 * § 3 直接文件(散列文件) 直接文件:记录在介质上的位置是通过对记录的键施加变换而获得相应地址。 一、桶散列 (静态散列) 基本思想: 把文件的记录通过散列函数H分别存储在许多存储桶中,每个存储桶包含一个或多个物理块,一个存储桶中的物理块用指针连接形成链表,每个物理块存放若干记录。如果一个桶溢出,即它容纳不下所有属于它的记录,那么可以给该存储桶增加一个溢出块链表以存放更多的记录。 操作:以i=H(key) 为依据完成查找、插入、删除、更新等操作。 * 山东大学管理学院 戚桂杰 姚云鸿 * § 3 直接文件(散列文件) 二、 可扩展散列(动态散列文件) 可散列文件的组织方式:散列函数H把关键字key转换成一个定长的二进制位串k′(伪关键字),取k′前i位二进制数(设为k〞)作为存储桶目录表中的目录项号,即表示目录表中第k〞个目录项,目录项中的指针指向的物理块就是具有关键字key的记录所在的物理块;存储桶目录项的个数为2i。 i 确定记录在该物理块中的成员资格 的二进制位串的位数 * 山东大学管理学院 戚桂杰 姚云鸿 * 查找操作 查找关键字为K的记录,先计算出H(K),取出这一二进制位串的前i位(设为k〞),并找到序号为k〞的存储桶目录项。根据此目录项的指针找到物理块B。 插入操作 为了插入关键字为K的记录,先其所在的物理块,若该物理块中有空闲空间,我们就把新记录存入,插入操作完成。如果B中没有空闲空间,那么根据数字i的不同有两种可能: 如果j=i,那么我们必须先将i加1,使存储桶目录项个数增加一倍,即2i+1。在新存储桶目录表中,序号为k〞0和k〞1(分别用0和1扩展k〞)的项都指向原k〞目录项指向的物理块。 * 山东大学管理学院 戚桂杰 姚云鸿 * 插入操作 如果j<i(j的值可在每个物理块的“小凸块”中找到),那么不必对存储桶目录表做任何变化。按下面规则操作: (a)将物理块B分裂成两个存储块。 (b)根
您可能关注的文档
最近下载
- 新苏教版六年级上册科学全册知识点归纳 (超全).doc VIP
- 农业保险合同.docx VIP
- 六年级上册数学教学设计-第3单元分数除法工程问题例7.docx VIP
- 新能源汽车热管理技术(1).pptx VIP
- 恶性肿瘤治疗与患者护理.pptx VIP
- 高考20个热点主题满分作文模板——标题、开头、结尾、分论点-2024年高考语文作文考前必备素材与押题范文.docx VIP
- 以问题为导向的医院医保管理经验分享题库答案-2025年华医网继续教育答案.docx VIP
- (高清版)B-T 27921-2023 风险管理 风险评估技术.pdf VIP
- 《熔化和凝固》+flashppt课件.pptx VIP
- 新生儿呼吸窘迫综合症护理.pptx VIP
文档评论(0)