""" Run it like: $ python benchmark.py < inputs/BR.txt """ from timeit import timeit from graph import Graph from dijkstra import dijkstra from dijkstra_h import dijkstra_h G = Graph() G.build_graph() s = 2646 print timeit(lambda: dijkstra(G, s), number=1) print timeit(lambda: dijkstra_h(G, s), number=1) # output for BR.txt #2.55977678299 #0.0487070083618 # output for map.txt #0.00156283378601 #0.000765800476074
from graph import Graph from kruskal import kruskal from dijkstra_h import path, dijkstra_h G = Graph() G.build_graph() # minimmum spanning tree mst = kruskal(G) length = sum([edge.weight for edge in mst]) print length # shortest path from city s to f s = 93 f = 112 d, p = dijkstra_h(G, s) print d[f] # shortest path tree from city s s = 104 d, p = dijkstra_h(G, s) edges = [] for v in G.vertices(): edges += path(p, s, v) edges = set(edges) cost = 0 for a, b in edges: cost += G.weight(a, b) print cost
""" Run it like: $ python benchmark.py < inputs/BR.txt """ from timeit import timeit from graph import Graph from dijkstra import dijkstra from dijkstra_h import dijkstra_h G = Graph() G.build_graph() s = 2646 print timeit(lambda : dijkstra(G, s), number=1) print timeit(lambda : dijkstra_h(G, s), number=1) # output for BR.txt #2.55977678299 #0.0487070083618 # output for map.txt #0.00156283378601 #0.000765800476074
from dijkstra_h import path, dijkstra_h G = Graph() G.build_graph() # minimmum spanning tree mst = kruskal(G) length = sum([edge.weight for edge in mst]) print length # shortest path from city s to f s = 93; f = 112 d, p = dijkstra_h(G, s) print d[f] # shortest path tree from city s s = 104 d, p = dijkstra_h(G, s) edges = [] for v in G.vertices(): edges += path(p, s, v) edges = set(edges) cost = 0 for a, b in edges: cost += G.weight(a, b) print cost