Java集合/Guava/Apache Commons库中是否有Red Black Tree
/AVL Tree
数据结构的实现?如果有,您能告诉我吗?基本上,我正在寻找一个时间复杂度为O(lg n)的数据结构来进行查询。还会对数据结构进行一些更新,但不会像查询那样频繁。
Java集合/Guava/Apache Commons库中是否有Red Black Tree
/AVL Tree
数据结构的实现?如果有,您能告诉我吗?基本上,我正在寻找一个时间复杂度为O(lg n)的数据结构来进行查询。还会对数据结构进行一些更新,但不会像查询那样频繁。
O(logN)
(以下引用是我强调的)。
public class TreeMap
extends AbstractMap implements
NavigableMap, Cloneable, Serializable基于红黑树的NavigableMap实现。该地图按其键的自然排序或在地图创建时提供的比较器排序,具体取决于使用哪个构造函数。
此实现提供了包含containsKey,get,put和remove操作的保证log(n)时间成本。
lnN
? - Cratylus
HashMap
,因为它更快(具有小因子的O(1))。忘记HashTable
,因为它已经过时了。如果你需要并发性,请使用ConcurrentHashMap
。如果你需要排序,请选择TreeMap
,不用担心它是红黑树、AVL树还是Splay-tree。如果你需要其他东西,请详细说明你的问题。 - maaartinusTreeMultiset
在内部使用AVL树... - Louis Wasserman