是
否
开始
准备工作
目标层级是否
小于当前层级?
是否还有未处理
的新节点?
结束
更新目标层级
的入口节点
是
找到每一层的邻居
并建立连接
否
开始
结束
是
更新目标层级的入口节点
是否到达
目标层级?
入口节点
邻居作为新的入口节点
遍历入口节点的所有邻居
否
邻居是否
更接近新节点?
否
是
开始
是否还有
未处理的层?
结束
是
否
找出本层中最多efConstruction个邻居
根据多样性检查以及本层最大邻居数量筛选节点
新节点连接邻居节点
邻居节点连接新节点
找到每一层的邻居并建立连接
开始
结束
入口节点添加
到候选邻居集合中
是否还有未处理
的候选邻居?
尝试将候选邻居的邻居添加到候选邻居集合中
是
否
找出本层中最多efConstruction个邻居的流程图
两个节点的连接流程图
开始
源节点src的邻居数量
是否超过本层的上限?
目标节点dest
否
根据多样性检查筛选邻居
目标节点dest追加到neighbors中
结束
帅选后的所有邻居覆盖原有的邻居
是