哈希表 hash table
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈希表 hash table相关的知识,希望对你有一定的参考价值。
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。
首先问题规模确定,例如5台服务器怎么把数据散落在5台上面呢,就用到了hash算法
用数据(ascii值) % 5 一定小于5 ,就得到了这个数据在哪台服务器上面
hash算法:
取余,
保证规模为质数(降低hash冲突)
hash冲突:
挂链表,返回头结点
[1], 2 ,3 ,4 5
1
1
时间复杂度:
O(1)
底层实现数组:
p1为指针
[p1,p2,p3,p4,p4]
自己用c++实现了一个hash table
地址:
https://github.com/xiaoyu-xiaoyu/liblogic/blob/master/HashMap.h
以上是关于哈希表 hash table的主要内容,如果未能解决你的问题,请参考以下文章