我有一个具有浮点距离属性的节点类。
我想要一个可以将所有节点放入其中的数据结构,并且它们将按顺序存储(例如在 AVL 树或红黑树中)。
- 我想插入 O(log(n))
- 我想检索并删除 O(log(n)) 中的最小值
我尝试使用排序字典,但事实证明它完全没用,因为他不能容纳两个具有相同距离的项目。
使用列表和排序 i 是不可能的,因为删除是 (O(n)) 并且找到最小值也是 (O(n))
我需要的是一个简单的通用红黑树结构,它将按我将提供的一些谓词进行排序(即比较节点内的距离)
BCL 中有这样的数据结构吗?