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

Postingan populer dari blog ini

membuat Source code data diri menggunakan HTML