Exemplo n.º 1
0
check_graph_validity(g)

g = Graph()

for i in range(2, 1000):
    j = i-1
    g.add_edge(str(j) + "|" + str(i), i, j)

last_v=1000
for v in g.dfs_directed(999):
    assert v < last_v
    last_v = v


g = Graph()
g.add_edge("ab", "a", "b")
g.add_edge("ac", "a", "c")
g.add_edge("ad", "a", "d")
g.add_edge("be", "b", "e")
g.add_edge("cf", "c", "f")
g.add_edge("dg", "d", "g")

s = [x for x in g.bfs_directed("a")]
assert s[0] == 'a'
assert set(s[1:4]) == {'b', 'c', 'd'}
assert set(s[4:7]) == {'e', 'f', 'g'}
s = [x for x in g.dfs_directed("a")]
assert s[0] == 'a'
assert {s[1], s[3], s[5]} == {'b', 'c', 'd'}
assert {s[2], s[4], s[6]} == {'e', 'f', 'g'}
Exemplo n.º 2
0
check_graph_validity(g)

g = Graph()

for i in range(2, 1000):
    j = i - 1
    g.add_edge(str(j) + "|" + str(i), i, j)

last_v = 1000
for v in g.dfs_directed(999):
    assert v < last_v
    last_v = v

g = Graph()
g.add_edge("ab", "a", "b")
g.add_edge("ac", "a", "c")
g.add_edge("ad", "a", "d")
g.add_edge("be", "b", "e")
g.add_edge("cf", "c", "f")
g.add_edge("dg", "d", "g")

s = [x for x in g.bfs_directed("a")]
assert s[0] == 'a'
assert set(s[1:4]) == {'b', 'c', 'd'}
assert set(s[4:7]) == {'e', 'f', 'g'}
s = [x for x in g.dfs_directed("a")]
assert s[0] == 'a'
assert {s[1], s[3], s[5]} == {'b', 'c', 'd'}
assert {s[2], s[4], s[6]} == {'e', 'f', 'g'}