草庐IT

c# - 如何将有向无环图 (DAG) 转换为树

我一直在寻找将DAG转换为树的C#示例。有没有人有正确方向的示例或指示?澄清更新我有一个图表,其中包含我的应用程序需要加载的模块列表。每个模块都有一个它所依赖的模块列表。例如,这是我的模块A、BC、D和EA没有依赖B依赖于A、C和EC依赖于AD依赖于AE依赖于C和A我想解决依赖关系并生成一棵看起来像这样的树......--一个--+--B-----+--C----------+--D--+--E拓扑排序感谢您提供的信息,如果我执行拓扑排序并反转输出,我将得到以下顺序一个BCDE我想维护层次结构,以便将我的模块加载到正确的上下文中,例如......模块E应该与B在同一个容器中谢谢罗汉

javascript - D3力有向图,根据给定的数据和值不同的形状?

我制作了一个力导向图,我想更改包含"entity":"company"的数据的节点形状,以便它们具有矩形形状,而另一个没有此部分的数据将像现在一样是圆圈。您可以在此处看到我的工作示例,其中只有圆形节点:http://jsfiddle.net/dzorz/uWtSk/我尝试在部分代码中使用ifelse语句添加矩形,我将形状附加到节点,如下所示:function(d){if(d.entity=="company"){node.append("rect").attr("class",function(d){return"nodetype"+d.type}).attr("width",100)

javascript - 如何防止力有向图中的链接重叠?

我正在关注ForcedirectedGraph.如何防止力向图中链接(线)的重叠。预期输出应该像this.当前JSON数据不包含任何父子关系。这是我的代码:varwidth=960,height=500;varcolor=d3.scale.category20();varforce=d3.layout.force().charge(-120).linkDistance(30).size([width,height]);varsvg=d3.select("body").append("svg").attr("width",width).attr("height",height);varg

javascript - 使用不带 DOT 的 d3.js 的有向无环图

我正在尝试使用d3.js绘制有向无环图。在搜索布局时,我遇到了Dagre但它似乎用处不大,因为我不想在任何地方使用基于DOT的代码。如果有人知道此纯Javascript解决方案或DAG的插件/自定义布局,请告诉我。提前致谢。 最佳答案 Dagre作者在这里。Dagre不包含任何graphviz代码——它是纯JavaScript。它基于类似的布局技术;两者均基于Sugiyama论文中的技术。你可以在这里找到一些dagre的例子:http://cpettitt.github.io/project/dagre-d3/latest/demo

java - 如何使用 Jackson 的@JsonIdentityInfo 进行有向图的反序列化?

我想使用Jackson2.3.3进行有向图的反序列化/序列化。我想出的结构大致如下:publicClassGraph{privatefinalSetnodes;publicGraph(Setnodes){...}publicSetgetNodes(){...}}@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property="name")publicClassNode{privatefinalStringname;privatefinalSetedges;publicNode(Stringn

java - Java 中是否有有向无环图 (DAG) 数据类型,我应该使用它吗?

我正在用Java为一个电源子系统建模。一个简单的SQLite数据库包含一组行可替换单元(LRU)以及它们之间的连接。我正在编写一个PowerModelAPI来简化数据存储的查询,使用DDD模式和存储库。我正在寻找合适的Java集合来为查询结果建模。LRU连接流中有一些特殊情况需要建模:最初,有一个带有多个端口(电源流中的典型连接涉及产生电源的单个源LRU和消耗电源的单个汇LRU。但是,下游可能有一个连接到多个接收器LRU的单个源LRU。能量流中没有循环。上面#3的包含让我想到从API返回查询结果作为树。但是我在java.util中找到的唯一树是TreeMap键值配对的红黑树,这似乎不合

java - 工作流(即有向图)基于浏览器的编辑器

我想提供一个WYSIWYG工具,最好是基于JavaScript的,用于工作流图表(即有向图)。我需要商业软件友好许可,其中可以包括向OEM支付费用。如果有必要的服务器端部分,我会在Java或ColdFusion中需要它,因为我正在与现有产品集成。我的工作流图可以有多个起始顶点,但只有一个结束顶点,并且边是有向的。除了WYSIWYG编辑之外,我正在寻找一种可以协助完成以下工作的工具:能够导出绘图,以便:坚持由编程语言解析(我假设是XML,但其他格式也可以)。再次编辑(保留布局信息)将任意数据与边和顶点相关联,包括定义View/编辑Pane的能力。很高兴拥有:检测是否有任何顶点无法到达终点

java - Java 中的有向图处理

我希望实现一个Java应用程序,该应用程序将计算一组要执行的任务。这些任务将相互依赖,形成一个有向图。是否有现有的SDK或算法(最好是Java)可以帮助我:定义任务图确保图中没有循环依赖使用线程池执行图中的任务第3步是最重要的部分。我需要以并行方式执行任务以获得最佳性能,同时确保任务不会在其依赖项之前执行。 最佳答案 看看之前的question,这基本上建议使用JGraphT.它显然会使1)变得容易,并且具有用于第3部分的循环检测器)。不要认为它会为您完成第3部分,但您需要做的就是获取所有出度数(或度数取决于您的表示)为0的顶点并开

java - 有哪些方法可以用 Java 表示加权的有向图?

我不能使用任何外部库,所以我正在尝试想一些自己构建数据结构的方法。我在想也许是这样的:publicclassNode{Setadjacent;intvalue;}publicclassEdge{Nodetarget;intweight;}但我猜测可能有更好的方法来做到这一点。我对该图的最终用途是在其上运行BellmanFord算法,但显然我首先需要一个功能图! 最佳答案 答案在很大程度上取决于您计划应用于图表的算法。有两种常见的方式来表示图形-adjacencylist和一个adjacencymatrix.在您的情况下,邻接矩阵是表

在有向图上使用成功的数据计数节点属性

我目前正在为我的工程论文使用电源分配可靠性指数工具,用于我的工程论文NewtworkX和Python。我正在努力编写一个命令,该命令将添加到我的累加器中的所有节点属性下游,特定边缘符合特定条件。我尝试使用继承功能NetworkX但是,它只会计算出符合边缘条件的第一个继任者,而不是所有下游的定向路径。我正在寻求指导,因为这使我感到困惑,而且我似乎无法解决这项简单的任务。importnetworkxasnximportmatplotlib.pyplotaspltH=nx.DiGraph()H.add_node(1,loads=2)H.add_node(2,loads=2)H.add_node(3,