学习笔记 C++下的底层是hash的容器是unordered_map和unordered_set hash分为开散列和闭散列 闭散列:hash是由一个顺序表实现,通过哈希函数得到相应的值放入相应的位置 查取的时候通过哈希函数快速查取,当发生哈希冲突的时候,会进行线 型探测,查找下一个非空位置,同理,查取时也需要进行线性探测 开散列:hash是由一个顺序表和单向链表实现,也称为哈希桶,当发生哈希冲突 时,会将冲突的值插入链表,减少了二次现型探测,同时保证了极高的 效率。当单链表长度过长时会再挂一个哈希表或者红黑树,因此在最差 情况下他的效率也是O(logn)