数据结构中的索引技术

数据结构中的索引技术

ID:41856073

大小:281.56 KB

页数:35页

时间:2019-09-03

数据结构中的索引技术_第1页
数据结构中的索引技术_第2页
数据结构中的索引技术_第3页
数据结构中的索引技术_第4页
数据结构中的索引技术_第5页
资源描述:

《数据结构中的索引技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章索引技术主要内容1.基本概念2.线性索引①稠密索引②分块索引③多重表④倒排表3.树型索引①2-3树②B-树③B+树8/4/20211《数据结构与算法》9.1索引的基本概念在索引问题以及数据库中,常常将数据元素称为记录(record)。文件文件(file)通常是指存储在外存上的记录集合。从操作系统的角度看,文件是无结构的连续字节序列,从数据库的角度看,文件是有结构的记录集合,每个记录可由若干个数据项组成。记录是文件中进行存取的基本单位,数据项是文件中可使用的最小单位。索引索引(index)是把一个关键

2、码与它对应的记录相关联的过程,一个索引属于某一个文件,它由若干索引项构成,每个索引项(indexitem)至少应包含关键码对应的记录在存储器中的位置等信息。8/4/20212《数据结构与算法》9.1索引的基本概念索引并不需要重新排列记录在文件中的顺序,一个文件可能有多个相关的索引,每个索引往往支持一个关键码,并且通过该索引实现对文件中记录的快速访问。静态索引静态索引(staticindex)是指索引结构在文件创建时生成。一旦生成就固定下来,只有当文件再组织时才允许改变。动态索引动态索引(dynamicin

3、dex)是指在文件创建时生成的索引结构。在文件执行插入、删除等操作时,索引结构本身也随之发生改变。8/4/20213《数据结构与算法》9.1索引的基本概念树形索引索引项组织为树结构,称其为树形索引。对一些大型文件,索引本身可能也很大,可对索引再建立一个索引,这样就构成了多级索引。当某级索引很大时,也可能要驻留在外存。线性索引索引项组织为线性结构,则称其为线性索引或索引表。8/4/20214《数据结构与算法》9.2线性索引一、稠密索引稠密索引主要适用于静态索引。在线性索引中,若文件中的每个记录对应一个索引项

4、,则这种索引称为稠密索引。在稠密索引中,无论文件是否按关键码有序,索引项总是按关键码顺序排列。见P298图8-1优点:对数据库记录有效查找和随机访问;缺点:查找过程中可能需要多次访问磁盘使查找的性能降低。一旦在文件中插入或删除了记录,就必须更新稠密索引。8/4/20215《数据结构与算法》9.2线性索引二、分块索引分块索引既适用于静态索引,也适用于动态索引。对文件分块使其分块有序。分块有序是指将文件划分为若干块,每一块内不要求有序,但第二块中所有记录的关键码均大于第一块中所有记录关键码,第三块中所有记录的

5、关键码均大于第二块中所有的关键码…..依此类推。对于分块有序的文件,每块只需对应一个索引项,这种索引方法叫做分块索引。每块对应一个索引项,各索引项按关键码有序排序,形成一个索引表。块内最大关键码块长块首地址8/4/20216《数据结构与算法》9.2线性索引二、分块索引在分块索引表中进行的查找称为分块查找(也称为索引顺序查找)1、在索引表中确定待查关键码所在的块。2、在相应块中查找待查关键码。见P299图8-38/4/20217《数据结构与算法》9.2线性索引三、多重表多重表(multiplelist)是一

6、种多索引结构,除了为文件建立一个主索引外,还为每个需要查找的次关键码建立一个索引,在文件中为建立索引的次关键码分别增设一个指针域,用于将关键码相同的记录连接在一起,或将在同一块中的记录连接在一起(对分块索引)见P300图8-48/4/20218《数据结构与算法》9.2线性索引四、倒排表倒排表(reverselist)是对次关键码建立一种索引表,在倒排表中,索引项包括次关键码的值和具有的各记录的地址。其中记录号表存储具有相同关键码值的所有记录的记录号,并且它们有序排列。见P301图8-5次关键码值记录号表其

7、中,记录号表存储具有相同次关键码值的所有记录的记录号,并且它们有序排列。索引不是由记录来确定属性(即数据项)值,而是由属性值来确定记录的位置,因而称为倒排表。8/4/20219《数据结构与算法》9.3树形索引树形索引是一种树结构的索引,树中每个结点是一个索引项,一般应包含关键码及其对应的记录地址,对树结构的查找一般也快于线性查找。树形索引多用作动态索引结构,即树中结点可动态地增加或撤消,树形索引常采用链接存储结构实现。8/4/202110《数据结构与算法》9.3树形索引一、2-3树一颗2-3树(见P302

8、图9-7)是具有下列特性的树。(1)一个结点包含一个或者两个关键码;(2)每个内部结点有2个子女(如果它包含一个关键码)或者3个子女(若它包含两个关键码),并因此得名2-3树;(3)所有叶子结点都在树的同一层。2-3树最大的优点是它能够以相对较低的代价保持树高的平衡。8/4/202111《数据结构与算法》9.3树形索引一、2-3树18331223304810152021244547505231图9-7一个2-3树的例子8/4/

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

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

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