program pencarian lokasi dengan DFS dan BFS menggunakan Python
Source Code DFS dan BFS
peta = {'A':set(['B','C','D','F']),
'B':set(['E','C']),
'C':set(['A']),
'D':set(['A','B']),
'E':set(['C']),
'F':set(['A'])}
def bfs(graph,start,end):
queue=[[start]]
visited=set()
while queue:
rute=queue.pop(0)
state=rute[-1]
if state==end:
return rute
elif state not in visited:
for cabang in graph.get(state,[]):
newrute=list(rute)
newrute.append(cabang)
queue.append(newrute)
visited.add(state)
isi=len(queue)
if isi==0:
print("tidak di temukan")
def dfs(graph, start, end):
stack=[[start]]
visited=set()
while stack:
panjang_stack=len(stack)-1
jalur=stack.pop(panjang_stack)
state=jalur[-1]
if state==end:
return jalur
elif state not in visited:
for cabang in graph.get(state, []):
jalur_baru = list(jalur)
jalur_baru.append(cabang)
stack.append(jalur_baru)
visited.add(state)
isi = len(stack)
if isi == 0:
print("Tidak ditemukan")
HASIL OUTPUT
PERBEDAAN DFS dan BFS
1. Depth First Search (DFS)
a. Pemakaian memori yang sedikit
b. Tidak adanya jaminan ditemukannya sebuah solusi
c. tidak adanya jaminan adanya solusi paling tepat dengan jalur terpendek
2. Breadth First Search (BFS)
a. Pemakaian memori yang tidak sedikit
b. jaminan ditemukannya sebuah solusi
c. adanya jaminan solusi paling tepat dengan jalur terpendek
Komentar
Posting Komentar