有没有算法能够根据一个hashcode(数字)从一个node的list中获取半数以上的候选nodes
问题:
有一个list,里面有很多节点。
有一个hashcode(数字),作为随机因子。
现在想通过一个算法根据随机因子获取半数以上的节点作为候选节点。
有一些条件:
1.候选节点需要原始节点数量的一半以上
2.同样的随机因子获取的候选节点是一致的
3.不同的随意因子尽量候选节点不同(大概率不同即可)
各位大神有没有好的算法
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先得到随机因子
k
的一个哈希值,比如h = SHA512(k)
。对
h
的所有二进制位,若h[k] = 1
,则选择列表中的第k
个节点,否则不选择。最后将本轮选出的所有节点从列表中移除。若选出的节点不够半数以上,则令
h = SHA512(h)
,重复第2步。