jjzjj

有向图

全部标签

go - 在有向图 Golang 中查找所有循环

我正在尝试使用Golang(或至少几个)生成有向图中包含的所有循环。我目前有两个结构:Node:{ID(string),resolved(bool),edges([]Edge)}Edge:{ID(string),start(Node),end(Node),weight(Float64)}周期重量不是问题(目前)。我找到了一些关于如何检测循环或找到最短路径等的答案,但我没有找到可以完全帮助我的算法。我该如何进行?(欢迎任何建议) 最佳答案 这个问题有两个部分。关于检测图中所有循环的算法,请查看这个相关问题(因为这不是特定于go的),其

.net - .NET 是否有向后的 XML 解析器?

在我的应用程序中,我对XML字符串有一个已知的兴趣偏移量,并且想回答诸如“我的父元素是什么?”之类的问题。无需解析整个文档。这article提到了一个似乎在Objective-C中用于“向后”XML解析的库。我的应用程序不需要完整的XML支持,所以我很乐意忍受所有关于无法完全可靠地解析的警告。C#/.NET有这样的东西吗?澄清:我不是在询问一般的解析解决方案或性能权衡,我对特定情况感兴趣,在这种情况下,我正处于文本流的中途,只需要了解一些有关本地结构的信息。想象一下我不想获取文档顶部的情况,因为访问具有非常高的延迟。 最佳答案 如果

c# - 确保部分连接的有向图是强连接的

上下文我正在使用程序生成构建3d游戏。我试图以这样一种方式连接一些预先生成的房间,无论如何,玩家总是可以到达map上的任何其他房间。房间有“可能的入口点”,连接走廊必须连接到这些入口点。但是,并非所有入口点都可以从房间内的所有其他入口点到达。例如,可能存在陷阱,因此位于底部的玩家将无法穿过房间到达顶部,而必须另寻出路。问题给定一组嵌入3d空间中的预先存在的有向图,添加一组总长度最小的(双向)路径,将子图连接成更大的图。否则(因为someresearch表明这是NP-Hard)使路径尽可能短以便在短时间内计算。到目前为止的工作我最好的解决方案是基于thisproceduralgenera

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

我正在尝试实现将有向无环图转换为树的算法(为了好玩、学习、套路、命名)。所以我想出了数据结构节点://////RepresetinganodeinDAGorTree//////ValueofthenodepublicclassNode{//////creatsanodewithnochildnodes//////ValueofthenodepublicNode(Tvalue){Value=value;ChildNodes=newList>();}//////Createsanodewithgivenvalueandcopythecollectionofchildnodes//////v

c# - 绘制有向无环图 : Minimizing edge crossing?

如果没有像EfficientSugiyama这样的图形绘制算法,以树形式布置DAG中的顶点(即顶部没有内边的顶点,仅依赖于下一层的顶点等)是相当简单的。但是,是否有一种简单的算法可以最大限度地减少边缘交叉?(对于某些图,可能无法完全消除边缘交叉。)一张图说一千个字,那么有没有一种算法会建议somethingwithoutcrossingedges.(comparedtothis)。编辑:结果我已经接受了Senthil的建议graphviz/dot——快速浏览一下文档确认这很容易useitasalibraryorexternaltool,和theoutputformatissurpris

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