summaryrefslogtreecommitdiffstats
path: root/heuristics/brute_force.py
blob: 7ea149180590fcaf6c4388571512027adc43c515 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from queue import Queue
from graph import find_shortest_route


def brute_force(graph: list) -> list:
    routes = []
    q = Queue()
    q.put([])

    while not q.empty():
        current = q.get()
        if len(current) == len(graph):
            current.append(current[0])
            routes.append(current)
            continue

        for node in graph:
            if node not in current:
                temp = current[:]
                temp.append(node)
                q.put(temp)

    return find_shortest_route(routes)