std::unordered_set - Serbipunk/notes GitHub Wiki
https://en.cppreference.com/w/cpp/container/unordered_set
template<
class Key,
class Hash = std::hash<Key>,
class KeyEqual = std::equal_to<Key>,
class Allocator = std::allocator<Key>
> class unordered_set;
unordered_set
是一个联合容器,保存一堆唯一Key类型的容器。查找,插入和删除操作的时间复杂度是平均的且很低。
内部原理,插入的元素没有以任何顺序存储,而是存入了桶中,后面链接着哈希算法。 快速访问元素是可行的,因为可以计算出哈希值,由此得到对应的桶。
不能修改元素,因为修改元素会破坏哈希值。