hashtable深度探索

容器hashtable

hashtable深度探索_第1张图片

Separate Chainning:如果发生碰撞就换成链表
hashtable深度探索_第2张图片

如果元素个数比篮子的个数还多,就进行打散rehashing,篮子变为原来的两倍,附近的素数
hashtable深度探索_第3张图片

hashtable深度探索_第4张图片

hashtable的实现

HashFunc:对象折射成编号
ExtractKey:在value中查找到key
EqualKey:什么时候key相等
Alloc:预设值

hash的迭代器,在一个链表遍历结束后可以走向篮子
hashtable深度探索_第5张图片

hashtable的直接使用

hashtable深度探索_第6张图片

hash<>将例子中的char*转换成编号

hashtable深度探索_第7张图片
hashtable深度探索_第8张图片
hashfunction的目的,就是希望元素值算出一个hashcode。使元素经过hash code映射之后 够乱 够随机 地被放置于hashtable中,越乱约不容易发送碰撞

mudulus运算

hashtable内部的一些函数

hashtable深度探索_第9张图片

你可能感兴趣的:(c++学习)