@Override public int degree(N node) { return delegate.degree(node); }
@Override public synchronized int degree(N arg0) { return delegate.degree(arg0); }
@Override public int degree(N node) { checkNotNull(node, "node"); checkArgument(delegate.nodes().contains(node), NODE_NOT_IN_TREE, node); return delegate.degree(node); }
private WeightedChoice<N> buildNodeProbabilities() { Map<N, Double> item_weights = new HashMap<N, Double>(); for (N v : graph.nodes()) { double degree; double denominator; // Attachment probability is dependent on whether the graph is // directed or undirected. if (graph.isDirected()) { degree = graph.inDegree(v); denominator = graph.edges().size() + graph.nodes().size(); } else { degree = graph.degree(v); denominator = (2 * graph.edges().size()) + graph.nodes().size(); } double prob = (degree + 1) / denominator; item_weights.put(v, prob); } WeightedChoice<N> nodeProbabilities = new WeightedChoice<N>(item_weights, mRandom); return nodeProbabilities; }