如何在JUNG中使用Hits算法?
我在我的项目中使用了JUNG库,并具体使用了hits算法。 我已经使用graph Stream构建了一个图G,我想使用这个图G作为JUNG Hits算法的输入,但是我的代码中有一个问题 这就是我创建图表的方式:如何在JUNG中使用Hits算法?,jung,Jung,我在我的项目中使用了JUNG库,并具体使用了hits算法。 我已经使用graph Stream构建了一个图G,我想使用这个图G作为JUNG Hits算法的输入,但是我的代码中有一个问题 这就是我创建图表的方式: SingleGraph graph=FileHelper.createGraph("Graphe", adjacencyMatrixboolean); for (org.graphstream.graph.Node node : graph.getNode
SingleGraph graph=FileHelper.createGraph("Graphe", adjacencyMatrixboolean);
for (org.graphstream.graph.Node node : graph.getNodeSet())
node.addAttribute("ui.label", node.getId());
for (Edge edge : graph.getEdgeSet())
edge.addAttribute("ui.label", edge.getId());
graph.display();
这就是我所说的JUNG HITS算法:
HITS ranker = new HITS((edu.uci.ics.jung.graph.Graph)graph);
ranker.evaluate();
ranker.printRankings(true,false);
Eclipse显示此错误:
线程“main”java.lang.ClassCastException中的异常:org.graphstream.graph.implementations.SingleGraph无法转换为edu.uci.ics.jung.graph.graph
位于com.tweets.test.Main.Main(Main.java:71)
看起来,
SingleGraph
,不管是什么(它不是JUNG的一部分),都没有实现JUNGGraph
接口。因此出现了ClassCastException
要使其正常工作,您可能需要从
SingleGraph
中构建一个JUNG图形,或者根据您的文件编写代码来构建一个JUNG图形。您能给我一个关于如何开始构建图形的链接或文档吗?或者如何从邻接矩阵构建带有jung的图?如果要基于文件构建jung图,可能需要查看io
子包中的一些类,尤其是MatrixFile
。如果要基于内存中的邻接矩阵构建图形,基本上要创建一个空的图形
,遍历该矩阵,并在条目非空时调用addEdge([可能基于矩阵条目的边对象]、行、列)。