edu.isi.karma.rep.Node.getNeighbor()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(1.2k)|赞(0)|评价(0)|浏览(106)

本文整理了Java中edu.isi.karma.rep.Node.getNeighbor()方法的一些代码示例,展示了Node.getNeighbor()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.getNeighbor()方法的具体详情如下:
包路径:edu.isi.karma.rep.Node
类名称:Node
方法名:getNeighbor

Node.getNeighbor介绍

暂无

代码示例

代码示例来源:origin: stackoverflow.com

// k is depth, result should not contain initialNode.
public static Collection<Node> bfsWithK_Depth(Node initialNode, int k) {

  if (initialNode == null || k <= 0) {
    return new ArrayList<>();
  }

  Queue<Node> q = new LinkedList<>();
  q.add(initialNode);
  Map<Node, Node> tracker = new HashMap(); // no need if there is visited flag.
  Collection<Node> result = new ArrayList<>();

  while (!q.isEmpty()) { // Q will be filled only with eligible nodes
    --k ;
    Node node = q.remove();
    List<Node> neighbor = node.getNeighbor();
    for (Node n : neighbor) {
      if (tracker.get(n) == null && k > 0) {
        q.add(n);
      }
      if (tracker.get(n) == null) { 
        tracker.put(n, n); 
        result.add(n); // visit this node
      }
    }

  }
  return result;
}

代码示例来源:origin: usc-isi-i2/Web-Karma

@Override
public Node getNeighbor(String hNodeId) {
  if (nodes.containsKey(hNodeId)) {
    return nodes.get(hNodeId);
  } else if (belongsToTable.getNestedTableInNode() != null) {
    return belongsToTable.getNestedTableInNode().getNeighbor(hNodeId);
  }
  return null;
}

相关文章