为什么有人会使用 set 而不是 unordered_set?

2021-12-22 00:00:00 algorithm data-structures c++ c++11

C++0x 正在引入 unordered_set,它可以在 boost 和许多其他地方使用.我的理解是 unordered_set 是具有 O(1) 查找复杂性的哈希表.另一方面,set 只不过是具有 log(n) 查找复杂性的树.到底为什么有人会使用set 而不是unordered_set?即是否需要 set 了?

C++0x is introducing unordered_set which is available in boost and many other places. What I understand is that unordered_set is hash table with O(1) lookup complexity. On the other hand, set is nothing but a tree with log(n) lookup complexity. Why on earth would anyone use set instead of unordered_set? i.e is there a need for set anymore?

推荐答案

对于想要迭代集合中的项目的人来说,顺序很重要.

When, for someone who wants to iterate over the items of the set, the order matters.

相关文章