2、外部内存数据结构详解

外部内存数据结构详解

1. 不同类型 B - 树及其特性

在外部内存数据结构中,B - 树是基础结构,但不同类型的 B - 树有不同的特性和应用场景。
- Level - balanced B - trees :普通的 B - 树或权重平衡 B - 树在维护父指针时,如果要支持分割和合并操作,效率并不高。分割操作会在元素 x 处构建两棵树,分别包含小于和大于 x 的所有元素;合并操作则是其逆操作。在没有父指针的情况下,B - 树和权重平衡 B - 树可以在 O(logB N) 次 I/O 操作内支持这两个操作。而 Level - balanced B - 树使用全局平衡条件,对树的每一层节点数量施加约束,当约束被违反时,会重建该层及以上的整个子树。这种树可以在维护父指针的同时,高效地支持分割和合并操作,例如在平面 st - 图的动态维护中有应用。
- Partial persistent B - trees :每次更新都会产生结构的新版本,并且可以查询当前和旧版本。它不仅在需要存储和查询数据库先前版本的数据库应用中有用,在解决许多几何问题中也有应用。使用标准的持久化技术,更新可以在 O(logB N) 次 I/O 操作内完成,查询任何版本的树可以在 O(logB N + T/B) 次 I/O 操作内完成,树使用 O(N/B) 个磁盘块。
- String B - trees :在字符串应用中,数据元素(字符字符串)可能长度任意或不同元素长度不同,标准 B - 树假设元素为单位大小,无法高效处理这类元素。Ferragina 和 Grossi 开发了字符串 B - 树,使用盲三叉树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值