github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/algorithm/datastructures/graph/graph_test.go (about) 1 package graph 2 3 import ( 4 "fmt" 5 "testing" 6 ) 7 8 func buildGraph() *GraphAdjTab { 9 g := NewGraphAdjTab() 10 g.AddVertex(1, "莫斯科") 11 g.AddVertex(2, "华盛顿") 12 g.AddVertex(3, "伦敦") 13 g.AddVertex(4, "圣彼得堡") 14 g.AddVertex(5, "哥本哈根") 15 g.AddVertex(6, "里斯本") 16 g.AddVertex(7, "新奥尔良") 17 g.AddVertex(8, "阿姆斯特丹") 18 g.AddVertex(9, "布鲁塞尔") 19 g.AddVertex(10, "巴黎") 20 // 添加边 21 g.AddEdge(1, 4) 22 g.AddEdge(1, 5) 23 g.AddEdge(2, 7) 24 g.AddEdge(3, 8) 25 g.AddEdge(2, 6) 26 g.AddEdge(3, 9) 27 g.AddEdge(4, 10) 28 g.AddEdge(5, 10) 29 g.AddEdge(6, 10) 30 g.AddEdge(7, 10) 31 g.AddEdge(8, 10) 32 g.AddEdge(9, 10) 33 return g 34 } 35 func TestGraphAdjTab_BSTSearch(t *testing.T) { 36 g := buildGraph() 37 path := g.BSTSearch(2, 3) 38 for _, v := range path { 39 fmt.Printf("->(%d)%v", v, g.GetVertexData(v)) 40 } 41 fmt.Println() 42 } 43 44 func TestGraphAdjTab_DSTSearch(t *testing.T) { 45 g := buildGraph() 46 path := g.DSTSearch(7, 9) 47 for _, v := range path { 48 fmt.Printf("->%v", g.GetVertexData(v)) 49 } 50 fmt.Println() 51 }