数据结构中的索引技术.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构中的索引技术

第9章 索引技术 *《数据结构与算法》 主要内容 1. 基本概念 2. 线性索引 ①稠密索引 ②分块索引 ③多重表 ④倒排表 3. 树型索引 ①2-3树 ②B-树 ③B+树 9.1索引的基本概念 在索引问题以及数据库中,常常将数据元素称为记录(record)。 文件 文件(file)通常是指存储在外存上的记录集合。从操作系统的角度看,文件是无结构的连续字节序列,从数据库的角度看,文件是有结构的记录集合,每个记录可由若干个数据项组成。记录是文件中进行存取的基本单位,数据项是文件中可使用的最小单位。 索引 索引(index)是把一个关键码与它对应的记录相关联的过程,一个索引属于某一个文件,它由若干索引项构成,每个索引项(index item)至少应包含关键码对应的记录在存储器中的位置等信息。 9.1索引的基本概念 索引并不需要重新排列记录在文件中的顺序,一个文件可能有多个相关的索引,每个索引往往支持一个关键码,并且通过该索引实现对文件中记录的快速访问。 静态索引 静态索引(static index)是指索引结构在文件创建时生成。一旦生成就固定下来,只有当文件再组织时才允许改变。 动态索引 动态索引(dynamic index)是指在文件创建时生成的索引结构。在文件执行插入、删除等操作时,索引结构本身也随之发生改变。 9.1索引的基本概念 树形索引 索引项组织为树结构,称其为树形索引。 对一些大型文件,索引本身可能也很大,可对索引再建立一个索引,这样就构成了多级索引。当某级索引很大时,也可能要驻留在外存。 线性索引 索引项组织为线性结构,则称其为线性索引或索引表。 9.2 线性索引 一、稠密索引 稠密索引主要适用于静态索引。 在线性索引中,若文件中的每个记录对应一个索引项,则这种索引称为稠密索引。在稠密索引中,无论文件是否按关键码有序,索引项总是按关键码顺序排列。 见P298 图8-1 优点:对数据库记录有效查找和随机访问; 缺点:查找过程中可能需要多次访问磁盘使查找的性能降低。一旦在文件中插入或删除了记录,就必须更新稠密索引。 9.2 线性索引 二、分块索引 分块索引既适用于静态索引,也适用于动态索引。 对文件分块使其分块有序。分块有序是指将文件划分为若干块,每一块内不要求有序,但第二块中所有记录的关键码均大于第一块中所有记录关键码,第三块中所有记录的关键码均大于第二块中所有的关键码…..依此类推。 对于分块有序的文件,每块只需对应一个索引项,这种索引方法叫做分块索引。每块对应一个索引项,各索引项按关键码有序排序,形成一个索引表。 块首地址 块长 块内最大关键码 9.2 线性索引 二、分块索引 在分块索引表中进行的查找称为分块查找(也称为索引顺序查找) 1、在索引表中确定待查关键码所在的块。 2、在相应块中查找待查关键码。 见P299 图8-3 9.2 线性索引 三、多重表 多重表(multiple list)是一种多索引结构,除了为文件建立一个主索引外,还为每个需要查找的次关键码建立一个索引,在文件中为建立索引的次关键码分别增设一个指针域,用于将关键码相同的记录连接在一起,或将在同一块中的记录连接在一起(对分块索引) 见P300 图8-4 9.2 线性索引 四、倒排表 倒排表(reverse list)是对次关键码建立一种索引表,在倒排表中,索引项包括次关键码的值和具有的各记录的地址。其中记录号表存储具有相同关键码值的所有记录的记录号,并且它们有序排列。 见P301 图8-5 记录号表 次关键码值 其中,记录号表存储具有相同次关键码值的所有记录的记录号,并且它们有序排列。 索引不是由记录来确定属性(即数据项)值,而是由属性值来确定记录的位置,因而称为倒排表。 9.3 树形索引 树形索引是一种树结构的索引,树中每个结点是一个索引项,一般应包含关键码及其对应的记录地址,对树结构的查找一般也快于线性查找。 树形索引多用作动态索引结构,即树中结点可动态地增加或撤消,树形索引常采用链接存储结构实现。 9.3 树形索引 一、 2-3树 一颗2-3树(见P302图9-7)是具有下列特性的树。 (1) 一个结点包含一个或者两个关键码; (2) 每个内部结点有2

文档评论(0)

tmd2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档