受这个问题的启发:Why isn't std::set just called std::binary_tree?,我想出了一个我自己的想法。红黑树是唯一可能满足std::set需求的数据结构吗?还有其他的吗?例如,另一种自平衡树- AVL tree -似乎是具有非常相似属性的很好的替代。理论上有没有可能取代std::set的底层数据结构,或者有没有一组要求使红黑树成为唯一可行的<
我正努力想出一个关于Data.AVL树成员资格证明的概念。我希望能够传递一个n ∈ m类型的值,这意味着n在AVL树中显示为一个键,这样get n m就可以成功地产生一个与n相关的值。您可以假设我的AVL树总是包含从一个连接半格(A,≈)上提取的值,尽管在idempotence下面是左隐式的。→ A × B → C × D → Set (ℓ₁ ⊔ ℓ₂)
(R -