二叉搜索树具有对数平均时间的表现,但这样的表现是构造在一个假设上的:输入的数据具有足够的随机性,对于hashtable,它在插入、删除、搜寻等操作上也具有“常数平均时间”的表现,而且这种次表现是以统计为基础,不需要依赖数据输入的随机性。hashtable可提供对任何有名项的存取操作和删除操作,所以hashtable也可以被看做一种字典结构。相较于rb-tree,当hashtable负载因子过大时,它有一个rehash过程,这个过程的时间复杂度为O(n),因为它并不是简单的把每条开链复制过去,而是需要对每个元素进行rehash(想想这是为什么)
代码实现:https://github.com/inmail/mySTL/blob/master/mySTL/16stl_hashtable.h