标签: triangle-count

查找图表中的所有周期,redux

我知道这个问题有很多答案.但是,我发现它们中没有一个能够真正实现它.
有人认为一个循环(几乎)与强连通组件相同(s.在有向图中查找所有循环),因此可以使用为该目标设计的算法.
有人认为找到一个循环可以通过DFS完成并检查后端(s.文件依赖关系的boost图文档).

我现在想对是否可以通过DFS检测图中的所有循环并检查后沿有一些建议?
http://www.me.utexas.edu/~bard/IP/Handouts/cycles.pdf(在SO上找到)陈述了一种基于循环基础的方法.我个人而言,我觉得它不是很直观,所以我正在寻找一个不同的解决方案.

编辑:我最初的意见显然是错误的.S."Moron"的下一个回答.
初步意见:我的观点是它确实可以这样工作,因为DFS-VISIT(DFS的伪代码)刚刚进入尚未访问过的每个节点.从这个意义上讲,每个顶点都表现出一个潜在的循环开始.此外,由于DFS每次访问每个边缘,因此也会覆盖通向循环起点的每条边.因此,通过使用DFS和后沿检查,确实可以检测图中的所有周期.注意,如果存在具有不同数量的参与者节点的循环(例如,三角形,矩形等),则必须进行额外的工作以区分每个循环的实际"形状".

graph-theory graph depth-first-search triangle-count

7
推荐指数
2
解决办法
1万
查看次数

内有N个点的三角形数

给定平面中的一些点(高达500点),没有3个共线.我们必须确定顶点来自给定点并且其中包含正好N个点的三角形的数量.如何有效地解决这个问题?天真的O(n ^ 4)算法太慢了.有更好的方法吗?

math geometry combinatorics computational-geometry triangle-count

6
推荐指数
1
解决办法
491
查看次数

使用标签在Igraph中提取所有三角形

我创建了一个有1000条边的igraph.我的目标是提取在该igraph中找到的所有三角形,但包括标签而不仅仅是那个数字.我还希望它是一个有3列的数据框形式(三角形的每个节点一个)

我试过简单地打电话:

triangles(graph)
Run Code Online (Sandbox Code Playgroud)

并在列中返回名称全部在一列中:

+ 28431/204 vertices, named:
    [1] node_a                                                
    [2] node_b                   
    [3] node_c 
    [4] node_a                                                
    [5] node_b                   
    [6] node_d                 
    [7] node_a                                                
    [8] node_b                   
    [9] node_e                              
   [10] node_a                                                
+ ... omitted several vertices
Run Code Online (Sandbox Code Playgroud)

当我尝试:

adjacent.triangles(graph)
Run Code Online (Sandbox Code Playgroud)

它返回所有数字但不返回节点的名称:

[1]  15 103  45 121 152  78 325 325   3  35  90   0 488 283   3   0 325 325 325 325  78  21 190   3
[25] 133   0  47 167 167   6   3 325 505 415   0  36  78 325  78  78  90   6 …
Run Code Online (Sandbox Code Playgroud)

r igraph triangle-count

3
推荐指数
1
解决办法
750
查看次数