- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一 B+树索引
一、 实验内容:
1. B+树索引的初使建立;
2. B+树索引的维护(插入删除) ;
3. B+树索引的查找;
二、 实验要求:
1. 外存索引;
2. 数据地址可以用逻辑地址模拟;
3. 能以图形化方式展示索引结构;
三、 实验步骤:
本实验代码实现使用的的是 C 语言。
1. 索引文件结构的表示:
由于直接读写管理磁盘块涉及很多底层的操作,所以我们是用一个文件来表示一个硬
盘,然后模拟这些操作。
我们的思路是在这个硬盘的第 1 块里存放这个文件的头部信息 (比如现在哪个块是可以
用的,哪个块已经被用了,等等) ,剩下的其它块用来存放记录索引等等。
具体的定义在 ”disk.h 里面,我们首先定义了一个块的大小” BLOCK_SIZE ,在本实验
里面我们定义为 4K ,然后我们实现了一些具体的操作:得到下一个空块,设置一个块的状
态(可用,不可用) ,读写一个索引块,读写索引文件头信息。
具体实现:
next_empty_block ( …):得到下一个可用的空块。我们是用位图来管理空块,在索引
文件头里面定义了一个 bitmap[] ;然后用某一位是 0 (表示该块为空块) 还是 1 来表示所对
应的块是不是空的。所以该函数就是从头扫描一个为 0 的位,然后把块号返回以提供下一
个索引块存放的位置。
set_status_block( …) :设置某块的状态。将该所代表的位置为 0 或 1。
read_btidx_block( …) :读某索引块。先把文件指针定位到要读的块的位置(块从 0 开
始编号,块 i 在文件中的偏移就是 BLOCK_SIZE * i ),然后读出该索引块的内容。
write_btidx_block( …) :写某索引块。以下同上。
read_bthdr_block( …) :读索引文件头。
write_bthdr_block ( …):写回索引文件头。
2. B+树节点结构及相关操作定义:
1) 首先定义 B+树每个节点所能存的最大 KEY 值数 KEY_NUM ,我们定义为 256 。
2) 然后定义 B+树的节点结构 btree_node :
/* b+ tree node struct */
struct btree_node {
int d; /* key num of a node */
key_t key[KEY_NUM]; /* n search keys */
int ptr[KEY_NUM + 1]; /* n+1 pointes */
};
d 表示该节点当前所存放的 KEY 的数目, key[KEY_NUM] 是存放 KEY 值的数组,
ptr[KEY_NUM + 1] 是存放指针 (数据地址) 的数组, 这个数据地址通过逻辑地址模拟:
当结点为内部结点时, 记录的是指向该键值的下一个子块号; 当结点为叶子结点时, 记
录的是数据 (元组 )在数据文件中的偏移量。 。
3) B+树的头信息结构
您可能关注的文档
- AutoCAD考试模拟题集之1.pdf
- AutoCAD快捷键与图标对照表.pdf
- A公司资产评估项目方案书.pdf
- A广告公司服务手册.pdf
- BANACH空间二阶微分方程边值问题解的存在唯一性.pdf
- BP神经网络实现函数逼近python实现.pdf
- C#.net登录界面及密码.pdf
- C#post模拟登录整理.pdf
- C#连接数据库和插入、删除、更新数据库.pdf
- CAD工程制图键盘快捷键命令.pdf
- ydt 2543-2013电信互联网数据中心能耗测评方法.pdf
- 匹配具有相同含义单词festival dead journey new concept 2新概念hx g6nce296.pdf
- 爱思充值平台服务器端对接.pdf
- 课程touchstone l2 u10 a二册单元lesson.pdf
- 原文及译文课堂笔记.pdf
- 分析讲稿晶闸管thyristor.pdf
- 终端机阿尔萨斯学校terminale stp c8构象.pdf
- 导入java io inputstream util网上拍卖答案itemlist.pdf
- 在中自动化量化条件逻辑ijcai13-117.pdf
- cvc fluency词汇巩固练习册组合.pdf
文档评论(0)