Problem mit Dijkstra-Algorithmus
Verfasst: Mittwoch 13. April 2011, 19:29
N'Abend,
ich habe ein kleines Problemchen mit der Implementierung des Dijkstra-Algos: Code wird problemlos ausgeführt, liefert aber nicht wie gewünscht die minimale Entfernung zwischen je zwei Punkten. Wäre super, wenn jemand von euch einen kleinen Blick darauf werfen könnte. Sehe den Wald vor lauter Bäumen nicht
Danke schonmal für eure Hilfe 
ich habe ein kleines Problemchen mit der Implementierung des Dijkstra-Algos: Code wird problemlos ausgeführt, liefert aber nicht wie gewünscht die minimale Entfernung zwischen je zwei Punkten. Wäre super, wenn jemand von euch einen kleinen Blick darauf werfen könnte. Sehe den Wald vor lauter Bäumen nicht

Code: Alles auswählen
from numpy import *
Cols = 7 # Groesse der Matrix (Entfernungsmatrix)
infty = 10000
Distanz = zeros((Cols,1))
Vorgaenger = zeros((Cols,1))
def Dijkstra(Matrix, start):
markiert = zeros((Cols,1))
for i in range(0,Cols):
Distanz[i] = infty
for i in range(0,Cols):
Vorgaenger[i] = -1
Distanz[start] = 0
Knoten = start
marker = 0
while marker == 0:
minimum = infty
for j in range (0,Cols):
if markiert[j] == 0:
if Distanz[j] < minimum:
minimum = Distanz[j]
Knoten = j
for j in range (0,Cols):
if markiert[j] == 0:
if Distanz[Knoten] + Matrix[Knoten][j] < Distanz[j]:
Distanz[j] = Distanz[Knoten] + Matrix[Knoten][j]
Vorgaenger[j] = Knoten
markiert[Knoten] = 1
marker = 0
for j in range(0,Cols):
if marker == 0:
if markiert[j] == 1:
marker = 1
else:
marker = 0
return Vorgaenger
