面经—(涂鸦智能)
1.java
1.1 hash算法
1.1.1 除余法
除余法就是用关键码x除以M(往往取散列表长度),并取余数作为散列地址。
1.1.2 乘余取整法
先让关键码key乘上一个常数A(O<A<1),提取乘积的小数部分。然后,再用整数n乘以这个值,对结果向下取
整,把它做为散列的地址。
1.1.3 平法取中法
由于整数相除的运行速度通常比相乘要慢,所以有意识地避免使用除余法运算可以提高散列算法的运行时间。
平方取中法的具体实现是:先通过求关键码的平方值,从而扩大相近数的差别,然后根据表长度取中
原创
2020-05-10 09:41:26 ·
2010 阅读 ·
0 评论