Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmus für maximalen Pfad gesucht » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Algorithmus für maximalen Pfad gesucht
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
aRo
Jungspund


Dabei seit: 25.10.2007
Beiträge: 18

Algorithmus für maximalen Pfad gesucht Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo!

Vielleicht hat ja jemand mal Lust darüber nachzugrübeln.
Also gesucht ist ein Alogrithmus der in einem Baum mit positiv gewichteten Kanten die zwei Knoten sucht, die den maximalen Abstand voneinander haben und sich diesen Abstand auch merkt.

Die Laufzeit soll O(|V|) sein (V ist die Menge der Knoten).

Der Algorithmus ist zu beschreiben und begründen, muss also nicht unbedingt wirklich in einer Programmiersprache geschrieben werden.

Mein bisheriger Ansatz:

Wobei ich nicht ganz sicher bin, ob das O(|V|) ist? Was ist eig. der Unterschied zu O(V)?

Also, man muss für jeden Knoten seine 2 größten Kinder suchen. Kinder, die nicht eines der zwei größten sind, können mit eventuellem Unterbaum fallen gelassen werden (z.B. aus einer Liste gelöscht werden).
Die Werte der zwei größten Kinder und die Namen der Kinder müssen im Vater gespeichert werden.
Als Größe eines Knotens bezeichne ich die die maximal 2 Zahlen, die in ihm stehen + die verbindene Kante zum Papa.
Blätter haben also den Wert 0, mit ihnen fängt man an und aus ihnen baut man am Anfang eine Liste, aus der gestrichen wird.
Am Ende stehen die beiden gesuchten Knoten in der Wurzel und die SUmme der beiden Werte der Wurzel ist der gesuchte Abstand.

Ist das verständlich?
Was sagt ihr dazu?
28.06.2008 12:20 aRo ist offline Beiträge von aRo suchen Nehmen Sie aRo in Ihre Freundesliste auf
Crotaphytus
Mitglied


Dabei seit: 18.09.2006
Beiträge: 45

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Klingt von der Idee her eigentlich schon ganz gut. Zwei Denkanregungen:

1. Du musst die Blätter erst mal kennen.

2. Gesucht ist nicht der Wert des größten Abstands, sondern die Knoten, die diesen besitzen.



O(|V|) steht da einfach nur, weil V wie du gesagt hast eine Menge ist. O(V) ist jetzt nicht so wirklich definiert... Stells dir einfach als O(n) mit n = |V| vor. smile

__________________
Das ist keine Signatur.
04.07.2008 17:20 Crotaphytus ist offline E-Mail an Crotaphytus senden Beiträge von Crotaphytus suchen Nehmen Sie Crotaphytus in Ihre Freundesliste auf Fügen Sie Crotaphytus in Ihre Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmus für maximalen Pfad gesucht