草庐IT

无向图

全部标签

python - 如何在python中的无向图中有效地计算三元组人口普查

我正在为我的无向网络计算triadcensus。importnetworkxasnxG=nx.Graph()G.add_edges_from([('A','B'),('A','C'),('D','B'),('E','C'),('E','F'),('B','H'),('B','G'),('B','F'),('C','G')])fromitertoolsimportcombinations#print(len(list(combinations(G.nodes,3))))triad_class={}fornodesincombinations(G.nodes,3):n_edges=G.su

python - 如何使用改进的 DFS 算法遍历循环有向图

概览我试图弄清楚如何使用某种DFS迭代算法遍历有向循环图。这是我目前实现的一个小mcve版本(它不处理循环):classNode(object):def__init__(self,name):self.name=namedefstart(self):print'{}_start'.format(self)defmiddle(self):print'{}_middle'.format(self)defend(self):print'{}_end'.format(self)def__str__(self):return"{0}".format(self.name)classNodeRepe

python - 如何在python中使用networkx绘制有向图?

我有一些来self想要映射到图表的脚本的节点。在下面,我想使用箭头从A到D,并且边缘可能也被着色(红色或其他东西)。这基本上就像所有其他节点都存在时从A到D的路径。您可以将每个节点想象成城市,从A到D的旅行需要方向(带有箭头)。下面的这段代码构建了图表importnetworkxasnximportnumpyasnpimportmatplotlib.pyplotaspltG=nx.Graph()G.add_edges_from([('A','B'),('A','C'),('D','B'),('E','C'),('E','F'),('B','H'),('B','G'),('B','F')

java - 样本有向图和拓扑排序代码

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭7年前。Improvethisquestion谁知道我在哪里可以获得有向图的示例实现和用于在有向图上执行拓扑排序的示例代码?(最好是Java) 最佳答案 这里是WikipediapageonTopologicalSort中第一个算法的简单实现。:importjava.util.ArrayList;importjava.util.Arrays;imp

【数学与算法】Kruskal算法 - 寻找无向图中最小生成树

链接Kruskal算法,也是一种寻找无向图中最小生成树的算法。1.基本思想:维持一个森林,森林是很多树的集合。初始的时候,一共有n棵树,每个节点是一棵树。初始的时候,森林里没有边。每一轮循环会检查一条边。如果这条边满足某些性质,那么就选中这条边。让两棵树合并起来。每合并一次会减少一棵树。当只剩下一棵树的时候,终止循环。每一次循环研究一条边。所以最终循环次数最多不会超过图中边的数量。2.实例:算法的输入是图,如下,7个节点和12条边:创建一个队列queue,里面存储所有的边edge,所有的边都按照权重weight做排序,权重小的在上面,权重大的在下面:用集合T表示被选中的边。初始的时候:集合T是

c++ - 如何创建 C++ Boost 无向图并以深度优先搜索 (DFS) 顺序遍历它?

如何创建C++Boost无向图并以深度优先搜索(DFS)顺序对其进行遍历? 最佳答案 //BoostDFSexampleonanundirectedgraph.//Createasamplegraph,traverseitsnodes//inDFSorderandprintouttheirvalues.#include#include#includeusingnamespacestd;typedefboost::adjacency_listMyGraph;typedefboost::graph_traits::vertex_desc

json - 从动态 json 数据更新力有向图上的链接

我是D3的新手,正在研究json数据是动态的力导向图。我可以在收到新数据后更改力图,但这会产生弹跳效应。创建我的力图的代码是:varw=660,h=700,r=10;varvis=d3.select(".graph").append("svg:svg").attr("width",w).attr("height",h).attr("pointer-events","all").append('svg:g').call(d3.behavior.zoom().on("zoom",redraw)).append('svg:g');vis.append('svg:rect').attr('wi

c++ - 为什么 C 和 C++ 中存在有向图?

我今天了解到C99和C++中有二合字母。以下是一个有效的程序:%:include%:ifndefBUFSIZE%:defineBUFSIZE512%:endifvoidcopy(chard,constchars,intlen)=0)=s;%>%>我的问题是:它们为什么存在? 最佳答案 有向图是为没有支持ISO646字符集的键盘的程序员创建的。http://en.wikipedia.org/wiki/C_trigraph 关于c++-为什么C和C++中存在有向图?,我们在StackOver

ruby - 在 Ruby 中使用 RGL 处理有向图

我已经使用RGL在Ruby中实现了一个有向图,只是难以弄清楚如何针对给定节点仅找到具有传入连接的节点和具有传出连接的节点。也许我遗漏了一些简单的东西。 最佳答案 我刚遇到这个问题。使用reversemethod可能有效,尽管它可能不是最优雅的方法:require'rgl/adjacency'require'rgl/bidirectional'classRGL::DirectedAdjacencyGraphdefin_degree(v)rdg=self.reverserdg.adjacent_vertices(v).sizeendde

ruby-on-rails - 在 Ruby on Rails 中显示有向图

如何在RubyonRails中显示有向图?基本上,我正在寻找类似graphvizforRails的东西。 最佳答案 您可以使用ruby-graphvizgem-https://github.com/glejeune/Ruby-Graphviz 关于ruby-on-rails-在RubyonRails中显示有向图,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6764605/