算法

Posted weixin_46401390

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法相关的知识,希望对你有一定的参考价值。

一、hash算法

例如将员工信息分16个服务器,通过hash算法,hash(员工的工号)%16,均匀的分配到了16台服务器。
缺点:若要扩容成17或者缩容成15,则会影响员工的分布,hash(员工的工号)%15的值与之前的hash值存在很大的差异。

二、一致性hash算法

将16个节点放入一个圆形中,设置每个节点的hash值,按顺时针排序,hash(员工的工号)与每个节点的hash值进行比较,然后放置每个节点范围内。
优点:即使新增或者减少节点不会大范围影响,只会影响1个节点的分布

以上是关于算法的主要内容,如果未能解决你的问题,请参考以下文章

在哈希表范围内查找键的最佳算法

「C语言」「算法」输出指定范围内的素数

在矩形范围内种怪的算法问题

设计一个 O(n) 算法来找到一个不在 [0,n-1] 范围内的数字 [重复]

在指定数字范围内,随机获取n个不重复数字

outlook寻找/删除指定日期范围内的邮件