Haskell fgl中的简单图(没有平行边)?
中是否有处理简单图形(即没有平行边)的规定?目前,我们得到了Haskell fgl中的简单图(没有平行边)?,haskell,Haskell,中是否有处理简单图形(即没有平行边)的规定?目前,我们得到了 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] 只是为了表明我做了一些研究:官方文档(从原始网页链接的纸张)在第2.1
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]
只是为了表明我做了一些研究:官方文档(从原始网页链接的纸张)在第2.1节中说明“我们为有向、节点标记、边标记的多重图定义了一种类型;其他图形类型可以作为特例获得”,但我看到的只是琐碎的专门化(无标签=标签()),但是在简单的图上什么都没有
对于简单图,出现在上下文a b
中的Adj b
的类型可能应该是Set(b,Node)
,而不是现在的[(b,Node)]
。
(甚至映射b(集合节点)
,或映射节点(集合b)
…)
有点相关:是否有一种方法允许检查边的存在,或者给我从一个节点p
到另一个节点q
的边集?目前,我似乎必须通过遍历sucgp
找到q
。这是一张清单,让我更担心。如果我的图有大度数的节点怎么办