目录
B树历史
B-树是一种自平衡的树形数据结构,它可以存储大量的数据并且支持高效的查找、插入和删除操作。B树-最初是由RudoIf Bayer 和 Edward McCreight 在1972年提出的,用于解决磁盘存储器上的 数据管理问题。B-树的设计目标是减少磁盘I/O 操作的次数,从而提高数据访问的效率。
B-树的命名中"B"代表 "Balance",即平衡的意思,B-树的平衡性是指树的所有叶子节点都在同一层级上,这样可以保证每个节点的访问时间相同。B-树的平衡性是通过在节点中存储多个关键词来实现的,这些关键词可以用来分割节点中的数据。B树的历史可以追溯到1962年,当时RudoIf Bayer 在IBM工作,他的工作是研究如何在磁带上存储数据。他发现,磁带的读写非常慢,而且每次读写都需要
花费很长时间。为了解决这个问题,他设计了一种树形数据结构,可以将数据存储在磁带上,并且可以高效地访问数据。
后来,B树被Edward McCreight 改进,他将B-树的设计应用到了磁盘存储器上。他发现,B-树可以有效地减少磁盘I/O操作的次数,从而提高数据访问的效率。B-树的设计思想被广泛应用于数据库系统中,成为了数据库系统中最重要的数据
100万数据用AVL树来存储,树高是多少? - 20
import math
def avl_height(data: int):
return math.ceil(math.log2(data))
print(avl_height(1000000)) # 输出20
100数据用B-树来存储,树高是多少? - 3
树高代表着查找次数,如果磁盘数据用AVL树来存储,读写次数多而且磁盘的读写速度慢,而使用B-树只用读写3次
因此:
- AVL树:存储内存数据
- B-树:存储磁盘数据