图形转换 - 将边和顶点顶点转换为顶点

时间:2012-12-04 10:34:56

标签: algorithm graph

是否存在任何算法或者是否存在图形变换的名称,其中可以将边缘变换为顶点并将顶点变换为边缘?那么我们可以从中得到一个新的图形或类似于这个问题的任何东西?我不确定它是否真的有意义,但如果你能给我任何关于这样一个问题的暗示,我会很高兴的。

4 个答案:

答案 0 :(得分:1)

LineGraph是Wolfram语言中的内置函数:

http://reference.wolfram.com/language/ref/LineGraph.html

这就是它的作用:

  • LineGraph [g]中的每个顶点对应于g中的边。
  • 对于无向图g,LineGraph [g]中的两个顶点如果相应的边共享一个公共顶点则相邻。
  • 对于有向图g,LineGraph [g]中的两个顶点如果相应的边连接则相邻,即一条边的目标是另一条边的源。
  • LineGraph适用于无向图,有向图和多图。

答案 1 :(得分:0)

我相信您可以使用以下Python库轻松将边缘转换为顶点:http://networkx.lanl.gov/

您可以获取边缘列表,节点列表并交换两者以构建新图形。您只需要一些(基本)Python知识。

答案 2 :(得分:0)

您是否考虑过基于模式的图转换?就像你那样

  • 搜索图形图案,例如你希望变成节点的那种边缘,和
  • 定义将该边缘变换为节点/顶点的操作,例如,将所有边属性转移到新节点/顶点的属性中。

在图形转换文献中,这两个步骤被称为图形转换规则的左侧右侧

该领域有很多科学文献,例如:http://www.springer.com/de/book/9783319211442

还有专门的图形转换开发解决方案,如Soley Studio

希望有所帮助。

答案 3 :(得分:0)

您要的是折线图。您可以使用group by clause创建给定图的折线图或对偶图。但是,请注意,此功能不会传播原始图形中的数据,因此如果需要,您将不得不设法解决。