二进制搜索树(BST)
该库基于二进制搜索树实现映射类型BSTMap和集合类型BSTSet 。 该API的用途与HashMap / HashSet和BTreeMap / BTreeSet等类型相似,同时还提供了使用较低级别的root和root_mut方法实现自己的遍历的功能。
这些数据结构不是由每个节点执行分配,而是由竞技场分配器支持,竞技场分配器仅偶尔分配以增加其容量。 竞技场以块为单位分配内存,而不会使之前产生的任何地址无效。 这对于插入性能非常有用,因为我们每次需要更多空间时都不必复制和更新所有先前分配的节点。 您正在操作的节点也很有可能连续放置在内存中,这非常适合缓存局部性。
root和root_mut方法返回的类型提供了left和right方法,以便在树中方便且直观地遍历。 几乎感觉就像您希望用垃圾回收语言编写的树API,但没有额外的开销,并且具有Rust借用检查器的所有常
2021-07-09 15:26:24
72KB
Rust
1