www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Algorithmen und Datenstrukturen" - Bellman-Ford-Algorithmus
Bellman-Ford-Algorithmus < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Bellman-Ford-Algorithmus: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 22:05 Mo 09.01.2006
Autor: kuminitu

Hallo,

habe hier noch eine Frage:
Hier ist eine Version des Bellman-Ford-Algorithmuses:
for(int m=2;m<n;m++)
      for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                 for(in tk=0;k<n;k++)
                    if( u[i][j] > u[i][k] + a[k][j])
                        u[i][j] = u[i][k] + a[k][j];
                        
                        tree[i][j]=k;
kann mir jemand erklären was alles bei einer Iteration von m passiert?
ich blick da einfach nicht durch.

MFG
Kuminitu

        
Bezug
Bellman-Ford-Algorithmus: Link & Grundidee
Status: (Antwort) fertig Status 
Datum: 22:31 Mo 09.01.2006
Autor: Karl_Pech

Hallo kuminitu!


> Hallo,
>  
> habe hier noch eine Frage:
>  Hier ist eine Version des Bellman-Ford-Algorithmuses:
>  for(int m=2;m<n;m++)
>        for(int i=0;i<n;i++)
>              for(int j=0;j<n;j++)
>                   for(in tk=0;k<n;k++)
>                      if( u[j] > u[k] + a[k][j])

>                          u[j] = u[k] + a[k][j];
>                         
> tree[j]=k;
> kann mir jemand erklären was alles bei einer Iteration von
> m passiert?
> ich blick da einfach nicht durch.
>
> MFG
> Kuminitu


Ich hatte damals auch meine Probleme mit diesem Algorithmus. Das [mm]m[/mm] bei deiner Version des Algorithmus scheint nichts weiter als ein Schleifenzähler zu sein (kein Index). Dazu zitiere ich mal Till Crueger:


"Vielmehr kann man beweisen, das
nach n-1 Wiederholungen der Schleife ab Zeile 4 alle kürzesten Pfade
gefunden wurden. Damit ist auch klar warum das i nicht innerhalb der
Schleife verwendet wird."


Nur was mich bei "deiner" Version stört, ist die Anzahl der FOR-Schleifen. Vielleicht liegt es ja daran, daß die Version, die wir in der Vorlesung benutzt haben, eine "theoretischere" Darstellung des Algorithmus war, so daß dort weniger Schleifen benötigt wurden. [kopfkratz3]



Viele Grüße
Karl





Bezug
        
Bezug
Bellman-Ford-Algorithmus: Antwort
Status: (Antwort) fertig Status 
Datum: 06:57 Di 10.01.2006
Autor: mathiash

Hallo und guten Morgen,

es sollte sowas gelten wie: In der m-ten Iteration ist u[i][j] die Laenge eines kuerzesten Pfades mit hoechstens m Kanten von i nach j.

Gruss,

Mathias

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]