我听说 B-Tree 数据库比哈希表更快,所以我想到在我的项目中使用 B-Tree 数据库。 python中是否有任何现有的框架允许我们使用这样的数据结构,或者我必须从头开始编码?
无论是在内存中还是在块存储中(如在数据库中),选择 B 树而不是哈希表的唯一原因是支持除相等以外的查询。 B 树允许您以良好的性能执行范围查询。不过,许多键值存储(例如 Berkley db)不会使其在外部可见,因为它们仍然对键进行哈希处理,但这仍然可以让您快速稳定地迭代整个数据集(即使有添加,迭代器仍然有效)或删除,或者必须重新平衡树)。
如果你不需要范围查询,并且不需要并发迭代,那么你不需要b树,使用哈希表,在任何规模上都会更快。
Edit:我曾经有过机会证明上述内容确实是正确的;为此,blist http://pypi.python.org/pypi/blistpackage 似乎是排序容器库最完整的实现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)