11_数据结构与算法_北京大学2008_张铭_索引技术讲解.ppt

11_数据结构与算法_北京大学2008_张铭_索引技术讲解.ppt

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

教师数据库主表 教师数据库倒排表 访外次数 上述插入过程有10次对B树的访外操作 其中读盘3次(a、c、g) 写盘7次(g、g’、c、c’、a、a’、t) 这里不考虑对主数据文件的访外操作,也不考虑申请新磁盘块的开销 准备在3阶B+树中删除75 沿a、d、k查找,找到叶结点 在k中删去75,发生下溢出,剩余关键码80与右邻l结点合并为新k’(80,85,90) 父结点d中原分界码80删除 d结点下溢出 借左邻c的关键码,c和d的关键码平分 父结点a中的分界码70修改为60 * * * * * 张铭 红黑树 * * C 是黑色,且左红、右黑 C 是黑色,且右红色 * * * * * * * * * * * * (当结点包含的关键码不多时,就用顺序检索;当结点包含的关键码数目较多时,可以用二分检索) * * * 有结点分裂的情况下,插入操作最少写盘次数:只在最底层分裂一次,那么就是写3次:两个新结点,这两个结点的父结点。 * * * * * * * * * * * * * * * * * * 对于同一个主文件, * The End Thank You! /mzhang/DS/ /pkujpk/course/sjjg 张铭,王腾蛟,赵海燕 高等教育出版社,2008. 6。“十一五”国家级规划教材 * * * * * * * * * * 线性索引的索引文件 存储在内存中,把索引存储在内存中能大大地提高检索速度 存储在磁盘中 根据线性索引的文件大小和内存的空间限制 * * 每一条二级线性索引记录对应于一个一级线性索引文件的磁盘块 关键码的值与对应的线性索引文件的磁盘块中第一条记录(从物理位置上看的第一条)的关键码的值相同 记录中的指针则指向相应线性索引文件的磁盘块的起始位置 二级密集?稀疏? * * * 在检索时,线性索引文件并不被读入内存,被读入内存的是二级线性索引文件 由于二级索引往往存储在内存,通常只需要访问两次磁盘即可:一次读入线性索引文件,一次读入数据库记录 * * * * 结点更大 以更少的外存访问次数来完成查找 需要较大的缓冲区 读入一个结点也需较多时间 一个结点最好能放在一个磁盘块中 * * * * * * * * * * * * 特征文件 Signature file (也译为“签名文件”) 倒排表(30,foo),(30,bar),(30,baz) (40,baz),(40,bar ),(50,foo) 记录 bar baz foo 30 40 50 1 1 1 0 1 1 0 0 1 1表示在那个记录中出现了相应的字段值 位图索引特点 按“列”为单位存储数据 列数据比行数据更易进行压缩,可节省50%的磁盘空间 索引空间比B树小 11.6 红黑树 11.6.1 红黑树定义 red-black tree, 简称RB-tree 11.6.2 红黑树相关性质 11.6.3 结点插入算法 11.6.4 结点删除算法 红黑树:平衡的扩充二叉搜索树 颜色特征:结点是“红色” 或“黑色” ; 根特征:根结点永远是“黑色”的; 外部特征:扩充外部叶结点都是空的“黑色”结点; 内部特征: “红色”结点的两个子结点都是“黑色”的 不允许两个连续的红色结点 深度特征:任何结点到其子孙外部结点的每条简单路径都包含相同数目的“黑色”结点 9 15 4 6 2 12 7 21 “红色” “黑色” 扩充 红黑树的阶 结点X的阶(rank,也称“黑色高度”) 从该结点到外部结点的黑色结点数量 不包括X结点本身,包括叶结点 外部结点的阶是零 根的阶称为该树的阶 9 15 4 6 2 12 7 21 rank=2 rank=1 rank=2 11.6.2 红黑树的性质 (1) 红黑树是满二叉树 空叶结点也看作结点 (2) 阶为k的红黑树路径长度 从根到叶的简单路径长度 即树高 (3) 阶为k的红黑树的内部结点 最少是一棵完全满二叉树 内部结点数最少是2k-1 9 15 4 6 2 12 7 最短是k 最小是k+1 ,最长是2k ,最高是2k+1 6 9 2 红黑树的性质 (4) n个内部结点的红黑树树高 最大是2 log2 (n+1)+1 证明: 设红黑树的阶为k,设红黑树的树高是h。 由性质(2)得h = 2k+1 则 k = (h-1) / 2 由性质(3)得n = 2k – 1 即 n = 2 (h-1)/2 – 1 可得出 h = 2 log2 (n+1)+1 11.6.3 插入算法 先调用BST的插入算法 把新记录着色为红色 若父结点是黑色,则算法结束 否则,

文档评论(0)

22ffbqq + 关注
内容提供者

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

1亿VIP精品文档

相关文档