private float computeNodeClusteringCoefficient(Graph graph, Node node, boolean directed) { float nodeCC = 0; int neighborhood = 0; NodeIterable neighbors1 = graph.getNeighbors(node); for (Node neighbor1 : neighbors1) { neighborhood++; NodeIterable neighbors2 = graph.getNeighbors(node); for (Node neighbor2 : neighbors2) { nodeCC = increaseCCifNesessary(graph, neighbor1, neighbor2, directed, nodeCC); } } nodeCC /= 2.0; if (neighborhood > 1) { float cc = nodeCC / (.5f * neighborhood * (neighborhood - 1)); if (directed) { cc = nodeCC / (neighborhood * (neighborhood - 1)); } return cc; } else { return -1.f; } }
public static Node[] getNeighbors(Graph graph, Node[] nodes) { Set<Node> nodeTree = new HashSet<>(); graph.readLock(); try { for (Node n : nodes) { nodeTree.addAll(graph.getNeighbors(n).toCollection()); } } finally { graph.readUnlock(); } //remove original nodes for (Node n : nodes) { nodeTree.remove(n); } return nodeTree.toArray(new Node[0]); }
@Override public Node[] getNodeNeighbours(Node node) { return getCurrentGraph().getNeighbors(node).toArray(); }
public static Node[] getNeighborsOfNeighbors(Graph graph, Node[] nodes) { Set<Node> nodeTree = new HashSet<>(); graph.readLock(); try { for (Node n : nodes) { nodeTree.addAll(graph.getNeighbors(n).toCollection()); } //remove original nodes for (Node n : nodes) { nodeTree.remove(n); } for (Node n : nodeTree.toArray(new Node[0])) { nodeTree.addAll(graph.getNeighbors(n).toCollection()); } } finally { graph.readUnlock(); } //remove original nodes for (Node n : nodes) { nodeTree.remove(n); } return nodeTree.toArray(new Node[0]); }
neighbours.clear(); for (Node n : nei) { for (Node neighbor : graph.getNeighbors(n)) { if (!result.contains(neighbor)) { neighbours.add(neighbor);
topology[node_index] = new ArrayList<>(); Set<Node> uniqueNeighbors = new HashSet<>(graph.getNeighbors(node).toCollection()); for (Node neighbor : uniqueNeighbors) { if (node == neighbor) {
for (Node n : nei) { for (Node neighbor : mainGraph.getNeighbors(n)) { neighbours.add(neighbor); result.add(neighbor);
if (useOnlyConnections) { for (Node m : graph.getNeighbors(n)) { double xDist = n.x() - m.x(); double yDist = n.y() - m.y();