matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

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
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenAlgorithmen und DatenstrukturenZusammenhangskomponenten
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
Forum "Algorithmen und Datenstrukturen" - Zusammenhangskomponenten
Zusammenhangskomponenten < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Zusammenhangskomponenten: Problem
Status: (Frage) beantwortet Status 
Datum: 19:52 Sa 04.12.2004
Autor: Skully

Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
http://www.java-forum.org/de/viewtopic.php?t=11346

Hi!

Hab da nen Problem mit einem Graph-Algorithmus.
Es geht um Starke Zusammenhangskomponenten (ZHK).

Für die, die nicht wissen worums geht hier ein Beispiel.
Ein Graph besteht aus Knoten und Kanten.
Also seien folgende Knoten und Kanten gegeben.

Knoten (Vertices):
v1, v2, v3, v4, v5

Kanten (Edges):
Format: Name Startknoten Endknoten
e1 v1 v2
e2 v2 v1
e3 v2 v3
e4 v3 v2
e4 v3 v4
e5 v4 v5
e6 v5 v3
e7 v1 v3

Also die starken ZHK wären:
1. v1 v2
2. v2 v3
3. v1, v2, v3
4. v3, v4, v5

Auf deutsch, gibt es einen Weg v1 zu v2 und einen weg von v2 zu v1, dann ist dies eine ZHK.

Also mein Alg. ist ein modifizierter DFS-Algo. Er findet leider nur 3 der 4 ZHKS.
Also finden tut er 1,2 und 4.

Hier mal Pseudocode vom Alg:
1:
2: v1 = Startknoten
3: pushe v1 auf Stack
4: v1 = besucht
5: solange bis Stack leer ist{
6:          v1 = kopf vom Stack
7:          v2 = unbesuchter Nachfolger von v1
8:          wenn v2 = null dann stack.pop()
9:          sonst v2 = besucht und pushe v2 auf stack
10:          nun for each vertex vom Stack{
11:                   e1 = Kante von v2 zu vertex
12:                   wenn  e1 != null
13:                   erzeuge neuen graphen tg
14:                   adde v2 und vertex zu tg
15:                   clone den stack zu stacktemp
16:                   solange v3 = stacktemp.pop() != vertex{
17:                                  adde v3 zu tg
18:                   }
19:                   füge tg zu grapharray hinzu
20:          }
21:          return grapharray
22: }

Wenn ich die Graphen nach Gewicht sortiere und der Graph v1 zu v2 ein höheres Gewicht als v1 zu v3, findet er die ZHK v1,v2,v3 aber dafür v1,v2 nicht.
Problem ist halt wenn Alg irgendwann zu v1 zurückkommt, gibt es keine unbesuchten Nachfolger mehr.

Jemand ne Idee?
Kann auch den Java-Code posten, aber da dort verschiedene Sachen genutzt werden, wird das wohl nicht so leicht verständlich sein.

        
Bezug
Zusammenhangskomponenten: Antwort
Status: (Antwort) fertig Status 
Datum: 01:52 Mi 08.12.2004
Autor: Hugo_Sanchez-Vicario

Hallo Skully,

ich weiß zwar nicht warum, aber es sieht so aus, als ob dein Algorithmus die beiden ZHK v1-v2 und v2-v3 nicht zu v1-v2-v3 zusammenflicken kann. Wahrscheinlich hört er auf, sobald er eine möglichst kurze Strecke gefunden hat, die ZHK ist. Du müsstest ihm sagen, dass er weitersuchen soll, evtl. erst nach ZHK der Länge 1, dann ZHK der Länge 2 usw. bis es keinen Sinn mehr macht (die Länge der längsten ZHK kann ja nicht größer sein als die Anzahl der Kanten in deinem Graphen).

Hugo

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


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