作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在处理 Chord 协议(protocol)。
每个节点有两个函数,findSuccessor
和 closestPrecedingNode
以伪代码形式给出。findSuccessor
是:
n.findSuccessor(id)
if(id is.in (n, successor])
return successor;
else
n' = closestPrecedingNode(id);
return n'.findSuccessor(id);
closestPrecedingNode
是:
n.closestPrecedingNode(id)
for i = m downto 1
if(finger[i] is.in (n, id))
return finger[i];
return n;
findSuccessor
运行
else
阻止并调用
closestPrecedingNode
.由于finger表为空,节点本身返回
findSuccessor
.因此
n'
则等于
n
.
findSuccessor
被调用
n'
,这是对自身的递归调用。
最佳答案
“jchord”的实现者似乎同意你的看法,因为他将以下代码添加到 findSuccessor
:
if (this == successor) {
return this;
}
The notation (a; b] denotes the segment of the Chord ring obtained by moving clockwise from (but not including) a until reaching (and including) b.
id is.in (n, n]
true
因为 id 在
n
之后开始的环内并以
n
结尾.
关于protocols - 无限循环findSuccessor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752968/
我是一名优秀的程序员,十分优秀!