-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdfs.gr
More file actions
37 lines (33 loc) · 673 Bytes
/
dfs.gr
File metadata and controls
37 lines (33 loc) · 673 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// DFS
graph dfsTree = "Dfs Tree Graph"
graph used = "Used vertex"
main {
print "DFS START"
graph gr = createGraph()
vertex v3 = "v3"
dfs(gr, v3)
print "DFS FINISH"
}
fn graph createGraph(){
graph gr = "test graph"
vertex v1 = "v1"
vertex v2 = "v2"
vertex v3 = "v3"
vertex v4 = "v4"
edge e1 = <v1,v2>
edge e2 = <v2,v3>
edge e3 = <v3,v4>
gr <- e1, e2, e3
return gr
}
fn dfs(graph g, vertex v){
used <- v
forEach(vertex to in v in g){
if (! used <?> to){
edge e = <v,to>
print "Go from " + v + " to " + to
dfsTree <- e
dfs(g, to)
}
}
}