fgl中的简单图形(没有平行边缘)?

时间:2015-03-27 19:11:44

标签: haskell

http://hackage.haskell.org/package/fgl中是否有任何条款用于处理简单图形(即没有平行边缘)?目前,我们得到

import Data.Graph.Inductive
mkGraph [(1,()),(2,())] [(1,2,()),(1,2,())] :: Gr () ()

==>  mkGraph [(1,()),(2,())] [(1,2,()),(1,2,())]

包含从1到2的两条边。确实对于此图,

suc g 1  ==>  [2,2]

只是为了表明我已经完成了一些研究:官方文档http://web.engr.oregonstate.edu/~erwig/fgl/haskell/old/fgl0103.pdf(从原始网页链接的文章)在第2.1节和第34节中说明;我们为定向,节点标记定义了一种类型边缘标记的多图;其他图表类型可以作为特殊情况获得"但后来我只看到了琐碎的专业化(没有label = label()),但在简单的图上却没有。

对于简单图表,Adj b中出现的Context a b的类型可能应该是Set (b,Node),而不是现在的[(b,Node)]。 (甚至是Map b (Set Node)Map Node (Set b) ...)

有点相关:是否有一种方法可以检查是否存在边缘,或者从一个节点p到另一个节点q给我一组边?目前看来,我必须通过q来寻找suc g p。这是一个列表,让我更加担心。如果我的图表具有较大程度的节点会怎样?

0 个答案:

没有答案