有没有人有prefuse图形工具包的经验?是否可以更改已显示的图形,即.添加/删除节点和/或边缘,并使显示正确适应?
例如,prefuse附带了一个可视化朋友网络的示例:
http://prefuse.org/doc/manual/introduction/example/Example.java
我想做的是这样的事情:
// -- 7. add new nodes on the fly -------------------------------------
new Timer(2000, new ActionListener() {
private Node oldNode = graph.nodes().next(); // init with random node
public void actionPerformed(ActionEvent e) {
// insert new node //
Node newNode = graph.addNode();
// insert new edge //
graph.addEdge(oldNode, newNode);
// remember node for next call //
oldNode = newNode;
}
}).start();
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.任何提示?
有人可以解释广度优先搜索来解决以下类型的问题

我需要找到4到7之间的所有路径
我刚刚开始阅读一本定义Graphs的算法书,如下所示:
图形 - 表示任意对象对之间的关系.图1.8(b)将道路网络建模为图形,其中顶点是城市,边缘是连接城市对的道路.无论何时寻求"网络","电路","网络"或"关系",图形都可能是有问题的对象.
图1.8(b)是这样的:

让我困惑的是以下几行:
......顶点是城市,边缘是连接城市的道路......
在通过网络进行最短路径算法时,我想生成一个网络图片.我想表示节点(圆圈),链接(线),遍历链接的成本(链接线中间的数字)和链接的容量(它代表的节点旁边的链接线上的数字)在图片里.是否有任何图书馆/软件可以帮助自动创建这张图片?
我可以在Visio或某些绘图应用程序中手动执行此操作,但我想在更改/调整网络时从代码生成它们.
我正在尝试构建一个序列来确定销毁对象的顺序.我们可以假设没有周期.如果对象A在其(A)构造期间使用对象B,则对象B在对象A的销毁期间仍应可用.因此,所需的破坏顺序是A,B.如果另一个对象C在其(C)构造期间也使用对象B,则所需的顺序是A,C,B.通常,只要对象X仅被销毁在构造过程中使用该对象的所有其他对象之后,破坏是安全的.
如果到目前为止我们的销毁订单是AECDBF,我们现在得到一个X(我们从来不知道最先发生的结构是什么顺序,它是在飞行中发现的),它在构造过程中使用C和F,然后我们可以通过将X放在列表中当前较早的前一个C或F(恰好是C)之前获得新的安全订单.所以新订单将是AB X CDEF.
在X示例的上下文中,链接列表似乎不合适,因为将涉及大量线性扫描以确定哪个更早,C或F.数组将意味着慢插入,这将是更常见的操作之一.优先级队列实际上没有合适的接口,没有,"在这些项目中最早的一个之前插入此项目"(我们事先不知道正确的优先级,以确保它在较低优先级元素之前插入并且不打扰其他条目).
构造所有对象,计算所需的顺序,并且序列将被迭代一次并按顺序被破坏.不需要进行任何其他操作(实际上,在使用任何数据结构来确定顺序之后,可以将其复制到平面阵列中并丢弃).
编辑:只是为了澄清,第一次使用对象的是它的构造时间.因此,如果A使用B,则E使用B,当E尝试使用B时,它已经被创建.这意味着堆栈不会提供所需的顺序.当我们想要AEB时,AB将成为ABE.
编辑2:我正在尝试建立顺序'我去'以保持算法到位.我宁愿避免建立一个大的中间结构,然后将其转换为最终结构.
编辑3:我太复杂了; p
我想出一个面试问题,想了解您对此的看法。问题是,在设计网络爬虫时:
1)用DFS和BFS会打什么样的页面?
2)如何避免陷入无限循环?
我很高兴有人可以回答他们。
我在考试中遇到了以下问题之一:
使用卡恩算法的拓扑排序 要求图是 DAG(有向无环图)。在不首先使用 DFS/BFS 的情况下,我们如何确定一个图是否不包含环?
我试图回答这个问题太久了,我很困惑。任何人都可以向我指出一种算法,该算法可以确定图形没有不使用 DFS 的循环,或者我应该向我的讲师大发雷霆吗?
我对 DFS 和回溯算法的区别感到困惑。在我看来,Backtracking只是DFS的一个特殊版本,是吗?
我有一个带有图形的程序,其节点代表一些进程,并且进程计算时间是节点的成本.该图形作为节点列表在内存中维护,每个节点都有一个父节点和子节点列表,以及它的执行时间.
我必须找到具有最短执行时间的路径.
有人能告诉我最好的方法吗?
graph-theory ×7
algorithm ×4
java ×2
backtracking ×1
c++ ×1
cycle ×1
dependencies ×1
drawing ×1
graph ×1
layout ×1
networking ×1
path ×1
prefuse ×1
tree ×1
web-crawler ×1
webpage ×1