Skip to content
Snippets Groups Projects
Commit 2acd75fb authored by Jacob Theisen's avatar Jacob Theisen
Browse files

jeg hater livetæ

parent 484f758d
No related branches found
No related tags found
No related merge requests found
#python3 program1.py -a/-n
\ No newline at end of file
python3 program1.py -a/-d
......@@ -22,10 +22,11 @@ class edges (object):
self.speed = speed
class results(object):
def __init__(self, node, dist, visited):
def __init__(self, node, time, visited, prev):
self.node = node
self.dist = dist
self.time = time
self.visited = visited
self.prev = prev
#prep nodes
......@@ -39,7 +40,7 @@ node_file.pop(0)
node_arr = []
for i in range(0, len(node_file), 3):
#nodenr breddegrad lengdegrad
node_arr.append(nodes(node_file[i], node_file[i+1], node_file[i+2]))
node_arr.append(nodes(int(node_file[i]), float(node_file[i+1]), float(node_file[i+2])))
#prep edges
with open('./test_files/kanter.txt','r') as file:
......@@ -52,7 +53,7 @@ edge_file.pop(0)
edge_arr = []
for i in range(0, len(edge_file), 5):
#franode tilnode kjøretid lengde fartsgrense
edge_arr.append(edges(edge_file[i], edge_file[i+1], edge_file[i+2], edge_file[i+3], edge_file[i+4]))
edge_arr.append(edges(int(edge_file[i]), int(edge_file[i+1]), int(edge_file[i+2]), int(edge_file[i+3]), int(edge_file[i+4])))
#prep intresting
with open('./test_files/interessepkt.txt','r') as file:
......@@ -66,27 +67,38 @@ intresting_arr = []
for i in range(len(intresting_file)):
#nodenr kode "Navn på stedet"
tmp_values = intresting_file[i].split()
intresting_arr.append(int_points(tmp_values[0], tmp_values[1], ' '.join(tmp_values[2:])))
intresting_arr.append(int_points(int(tmp_values[0]), int(tmp_values[1]), ' '.join(tmp_values[2:])))
res_arr = []
def init_table():
for i in range(len(node_file)):
res_arr.append(results(i, inf, None))
res_arr.append(results(i, inf, False, None))
queue = []
def dijkstras(fra, til):
if fra == til:
print('were here')
# for i in res_arr:
# if i.time != inf:
# print(i.node, i.time)
exit()
for i in edge_arr:
if fra == i.fra:
a = [a for a in queue if a.visited == None and a.node == i.til]
if i.fra == fra:
a = [a for a in res_arr if a.node == i.til][0]
if a:
if i.time < a.time:
a.time = i.time
a.prev = fra
if a.visited == False and i.til not in queue:
queue.append(i.til)
queue.pop(0)
dijkstras(queue[0], til)
......@@ -99,6 +111,7 @@ def init_things():
fra = 0
til = 1
init_table()
queue.append(fra)
dijkstras(fra, til)
elif sys.argv[1] == '-a':
print('A* not yet implemented')
......@@ -107,4 +120,9 @@ def init_things():
else:
print('Missing argument')
print(edge_arr[0].fra)
init_things()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment