- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
package edu.uci.ics.jung.algorithms.cluster;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.collections15.Transformer;
import edu.uci.ics.jung.algorithms.scoring.BetweennessCentrality;
import edu.uci.ics.jung.graph.Graph;
import edu.uci.ics.jung.graph.util.Pair;
public class EdgeBetweennessClusterer<V, E> implements
Transformer<Graph<V, E>, Set<Set<V>>> {
private int mNumEdgesToRemove;
private Map<E, Pair<V>> edges_removed;
public EdgeBetweennessClusterer(int numEdgesToRemove) {
mNumEdgesToRemove = numEdgesToRemove;
edges_removed = new LinkedHashMap<E, Pair<V>>();
}
public Set<Set<V>> transform(Graph<V, E> graph) {
if (mNumEdgesToRemove < 0
|| mNumEdgesToRemove > graph.getEdgeCount()) {
throw new IllegalArgumentException(
"Invalid number of edges passed in.");
}
edges_removed.clear();
for (int k = 0; k < mNumEdgesToRemove; k++) {
BetweennessCentrality<V, E> bc = new BetweennessCentrality<V, E>(
graph);
E to_remove = null;
double score = 0;
for (E e : graph.getEdges())
if (bc.getEdgeScore(e) > score) {
to_remove = e;
score = bc.getEdgeScore(e);
}
edges_removed.put(to_remove, graph.getEndpoints(to_remove));
graph.removeEdge(to_remove);
}
WeakComponentClusterer<V, E> wcSearch = new WeakComponentClusterer<V, E>();
Set<Set<V>> clusterSet = wcSearch.transform(graph);
for (Map.Entry<E, Pair<V>> entry : edges_removed.entrySet()) {
Pair<V> endpoints = entry.getValue();
graph.addEdge(entry.getKey(), endpoints.getFirst(),
endpoints.getSecond());
}
Object array[];
array=new Object[500];
array=clusterSet.toArray();
System.out.println(array.length);
for(int i=0;i<array.length;i++)
{
System.out.println("hello");
System.out.println("hkj"+array[i]);
}
return clusterSet;
}
/**
* Retrieves the list of all edges that were removed
* (assuming extract(...) was previously called).
* The edges returned
* are stored in order in which they were removed.
*
* @return the edges in the original graph
*/
public List<E> getEdgesRemoved() {
return new ArrayList<E>(edges_removed.keySet());
}
public static void main(String args[])
{
new EdgeBetweennessClusterer(10);
}
}
此算法复制自here
我正在制作基于网络的社区,所以我使用了这个算法当我运行这段代码时,main 方法没有被调用。我无法理解发生了什么。如果我错了,请纠正我。我犯了什么错误?
最佳答案
如果你删除所有不执行任何操作的代码,你的程序与
public EdgeBetweennessClusterer(int numEdgesToRemove) {
mNumEdgesToRemove = numEdgesToRemove;
edges_removed = new LinkedHashMap<E, Pair<V>>();
}
public static void main(String args[]) {
new EdgeBetweennessClusterer(10);
}
如果你想让你的程序调用更多的代码,你需要告诉它这样做。也许使用调试器可以帮助您了解您的程序正在做什么以及为什么。
关于java - transform 方法没有在 MAIN 方法中调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8095104/
我正在使用 Gunicorn 为 Django 应用程序提供服务,它工作正常,直到我将其超时时间从 30 秒更改为 900000 秒,我不得不这样做,因为我有一个用例需要上传和处理一个巨大的文件(过程
我有一个带有非常基本的管道的Jenkinsfile,它可以旋转docker容器: pipeline { agent { dockerfile { args '-u root' } } stag
在学习 MEAN 堆栈的过程中,我遇到了一个问题。每当我尝试使用 Passport 验证方法时,它都不会返回任何响应。我总是收到“localhost没有发送任何数据。ERR_EMPTY_RESPONS
在当今的大多数企业堆栈中,数据库是我们存储所有秘密的地方。它是安全屋,是待命室,也是用于存储可能非常私密或极具价值的物品的集散地。对于依赖它的数据库管理员、程序员和DevOps团队来说,保护它免受所
是否可以创建像图片上那样的边框?只需使用 css 边框属性。最终结果将是没 Angular 盒子。我不想添加额外的 html 元素。我只想为每个 li 元素添加 css 边框信息。 假设这是一个 ul
我是一名优秀的程序员,十分优秀!