您的位置:首页 > 理论基础 > 数据结构算法

9-8-B树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版

2016-06-21 14:18 507 查看
课本源码部分

第9章 查找 - B树

——《数据结构》-严蔚敏.吴伟民版

源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑

习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑

本源码引入的文件 链接☛ Base.c

文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲09 查找\08 B-Tree

概述

B树、B-树、B_树是一个概念,只是书写方式不同,可读作B树。注意没有B-树。


B树是一种平衡的多路查找树,它在文件中很有用。

解析

[b][b][b][b]注意说到B树的阶时,以每个结点至多可容纳的子树数目为依据。如下图为一棵深度为3,阶数为3的B树:
[/b][/b][/b][/b]

[b][b][b][b][b]

[/b][/b][/b][/b][/b]

[b][b][b][b] 一棵m阶的B树,或为空树,或为满足下列特征的m叉树:[/b][/b][/b][/b]

[b][b][b][b] (1)树中每个结点至多有m棵子树;[/b][/b][/b][/b]

[b][b][b][b] (2)若根结点不是叶子结点,则至少有两棵子树;[/b][/b][/b][/b]

[b][b][b][b] (3)除根之外的所有非终端结点至少有┏m/2┓棵子树;[/b][/b][/b][/b]

[b][b][b][b] (4)所有非终端结点中包含下列信息数据:[/b][/b][/b][/b]

[b][b][b][b](n,A0,K1,A1,K2,A2,...,Kn,An)[/b][/b][/b][/b]

[b][b][b][b] 其中,Ki为关键字,Ai为指向子树的指针。[/b][/b][/b][/b]

[b][b][b][b] (5)所有叶子结点都出现在同一层次上,并且不带信息(可以看做是外部结点或查找失败的结点,实际上这些结点不存在,指向这些结点的指针为空)。[/b][/b][/b][/b]

源码

文件一 ☛ B-Tree.h





文件二 ☛ B-Tree.c















文件三 ☛ B-Tree-main.c (测试文档)



文件四 ☛ TestData_Table.txt(查找表测试数据)



测试结果展示



更多章节持续更新中...

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: