-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathromania_dfs.py
More file actions
56 lines (39 loc) · 1 KB
/
romania_dfs.py
File metadata and controls
56 lines (39 loc) · 1 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
'''
'' Program to demonstrate DFS using Romania Roadmap
'' Date 09/14/2017
'' Author Zeeshan Hyder Bhat
'''
# Tree structure
class Tree:
def __init__(self, value, children=None):
self.value = value
self.children = children
def __str__(self):
return str(self.value)
goal_state = 0
# DFS method
def DFS(tree):
global goal_state
print(tree.value)
# Goal state
if(tree.value == 'Bucharest'):
goal_state = 1
return
if tree.children == None:
return
else:
for stree in tree.children:
if goal_state == 0:
DFS(stree)
'''
'' Romania Road map in tree structure
'''
nodeBucharest = Tree("Bucharest")
nodeFagaras = Tree("Fagaras", [nodeBucharest])
nodeArad = Tree("Arad")
nodeSibiu = Tree("Sibiu",[nodeArad, nodeFagaras])
nodePitesti = Tree("Pitesti",[nodeBucharest])
nodeCraiova = Tree("Craiova",[nodePitesti])
nodeRV = Tree("Rimnicu Vilcea",[nodeCraiova, nodePitesti, nodeSibiu])
## Tree end
DFS(nodeRV)