g
有向无环图(DAG)的实现。
该实现是快速且线程安全的。 它可以防止添加循环或重复,从而始终保持有效的DAG。 该实现缓存后代和祖先,以加快后续调用的速度。
快速开始
跑步:
package main
import (
"fmt"
"github.com/heimdalr/dag"
)
func main () {
// initialize a new graph
d := NewDAG ()
// init three vertices
v1 , _ := d . AddVertex ( 1 )
v2 , _ := d . AddVertex ( 2 )
v3 , _ := d . AddVertex ( struct { a string ; b string }{ a : "foo" , b : "bar" })
// add the above ve
1