#avl-tree #set #map #structures #iterator #key

gavl

基于AVL树实现的快速Map和Set实现

5个版本

0.1.5 2023年8月16日
0.1.3 2023年7月27日
0.1.2 2023年7月20日
0.1.1 2023年7月19日
0.1.0 2023年7月19日

#2172 in 数据结构

每月 35 次下载

MIT 协议

67KB
1.5K SLoC

GAVL

各种AVL数据结构

Crates.io MIT licensed

API文档

概述

包含

  • Map:可以通过各种迭代器进行修改,不支持重复键,并提供与数据结构相关的一些常见功能,如 collect()

未来数据结构

  • Set:将几乎与map相同的功能,并将包含不同的迭代器集

愿景

该包采用选择启用哲学,您只需激活所需的特性。


lib.rs:

AVL数据结构

此包实现了一个基于AVL的Map,在不久的将来它还可能包括一个Set

恐慌

此包可能引发的唯一恐慌是由Box恐慌引起的

安全性

目前,我还没有运行分析或测试来确定它是否是Send和Sync,在不久的将来,我可能将实现一些rwlocks

特性

  • into_precomputed - 启用预计算迭代器
  • unchecked_mut - 启用返回键的可变引用的迭代器(尚未在文档中列出)

依赖关系

~285–750KB
~18K SLoC