Autor Beitrag
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Sa 11.11.06 03:33 
Hi
Ich beschäftige mich gerade mit Topologischer Sortierung.
Der Artikel auf Wikipedia hat mir da sehr viel geholfen.
de.wikipedia.org/wik...ologische_Sortierung
Mein Algorithmus kann jetzt schon eine Reihe ausgeben.
Nun müsste man den Algorithmus ja so erweitern können das er alle möglichen Reihenfolgen ausgeben kann.
Ich hab schon Google abgegraßt aber überall wird nur über den Algorithmus geschrieben der nur eine Reihe ausgeben kann.
Kennt jemand dazu ein Tutorial oder so?

MfG
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mo 13.11.06 17:18 
Hallo!

Du entfernst ja immer die Elemente, die keine Vorfahren mehr haben. Bleiben wir mal bei dem Beispiel aus der Wikipedia, da wäre es im ersten Schritt also Unterhose, Socken und Unterhemd. Diese drei Elemente werden also im ersten Schritt entfernt und landen auf deiner Ausgabeliste. Nun kannst du aber diese 3 Elemente eben in 6 (Suche in Wikipedia FAKULTÄT von 3 ist 3!=1*2*3=6) verschiedenen Reihenfolgen ausgeben, du musst für jede Suche in Wikipedia PERMUTATION dementsprechend den nächsten Schritt durchführen (Rekursion).

Das bedeutet für dieses Beispiel:

Erster Schritt : 3 Elemente ohne Vorgänger, 3!=1*2*3=6 verschiedene Möglichkeiten
Zweiter Schritt: 2 Elemente ohne Vorgänger, 2!=1*2=2 verschiedene Möglichkeiten
Dritter Schritt: 2 Elemente ohne Vorgänger, 2!=1*2=2 verschiedene Möglichkeiten


Du hast also 6*2*2 = 24 Möglichkeiten, die Elemente anzuordnen, diese Anzahl muss dein Algo dann also ausgeben.

Cu,
Udontknow
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Mo 13.11.06 18:24 
[ot]
War/ist das nicht eine Aufabe aus dem diesjährigem BWINF?

[/ot]
Coder Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mo 13.11.06 21:59 
Danke Udontknow! :zustimm:
Ja das war eine Aufgabe beim BWinf.
Ich bin dann vorgestern doch (mit etwas Hilfe) von selber draufgekommen.
Hatte vergessen das hier zu schreiben.
Heute war Einsendeschluss und ich habs geschafft. :)
Ich hänge mein Programm zum BWinf mal an.

MfG
Einloggen, um Attachments anzusehen!