graph-builder

Форк
0
/
algorythms_test.go 
57 строк · 1.0 Кб
1
package graph
2

3
import (
4
	"fmt"
5
	"testing"
6
)
7

8
func TestBFS(t *testing.T) {
9
	var g AbstractGraph
10
	g.Graph = make(map[*Node]map[*Node]int, 3)
11
	var a, b, c, d, e, f Node
12
	a.Name = "a"
13
	b.Name = "b"
14
	c.Name = "c"
15
	d.Name = "d"
16
	e.Name = "e"
17
	f.Name = "f"
18

19
	g.Graph[&a] = make(map[*Node]int, 2)
20
	g.Graph[&a][&b] = 1
21
	g.Graph[&a][&c] = 1
22
	g.Graph[&b] = make(map[*Node]int, 2)
23
	g.Graph[&b][&d] = 1
24
	g.Graph[&b][&e] = 1
25
	g.Graph[&c] = make(map[*Node]int, 1)
26
	g.Graph[&c][&f] = 1
27

28
	fmt.Println(g.BFS("a", func(want interface{}) bool {
29
		return false
30
	}))
31

32
}
33
func TestDFS(t *testing.T) {
34
	var g AbstractGraph
35
	g.Graph = make(map[*Node]map[*Node]int, 3)
36
	var a, b, c, d, e, f Node
37
	a.Name = "a"
38
	b.Name = "b"
39
	c.Name = "c"
40
	d.Name = "d"
41
	e.Name = "e"
42
	f.Name = "f"
43

44
	g.Graph[&a] = make(map[*Node]int, 2)
45
	g.Graph[&a][&b] = 1
46
	g.Graph[&a][&c] = 1
47
	g.Graph[&b] = make(map[*Node]int, 2)
48
	g.Graph[&b][&d] = 1
49
	g.Graph[&b][&e] = 1
50
	g.Graph[&c] = make(map[*Node]int, 1)
51
	g.Graph[&c][&f] = 1
52

53
	fmt.Println(g.DFS("a", func(want interface{}) bool {
54
		return false
55
	}))
56

57
}
58

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.