哈希表实践根底

  • 用来疾速判断某个原生是否在汇合内(疾速查找)
  • 哈希函数将传入的key映射到符号表的索引上
  • 哈希抵触解决多个key映射到符号表雷同索引上的问题,罕用的解决办法有拉链法和线性探测法
  • c++ stl中有四种常见的哈希构造
  • 数组 std::array
  • 汇合 std::set std::multiset std::unordered_set
  • 映射 std::map std::multimap std::unordered_map
汇合底层实现是否有序增删查的效率
std::setRB-TreeO(logn)
std::multisetRB-TreeO(logn)
std::unordered_setHashO(1)
std::unordered_multisetHashO(1)
映射底层实现是否有序增删查的效率
std::mapRB-TreeO(logn)
std::multimapRB-TreeO(logn)
std::unordered_mapHashO(1)
std::unordered_multimapHashO(1)