Allgemeine Bäume
-
Wie stelle ich in C/C++ einen allgemeinen Baum dar?
bei einem binären ist die (simple) datenstruktur ja klar.
struct tree{
tree *t[2];
int value;
};Aber wie mache ich das, wenn ich eine undefinierte Anzahl an Nachfolgern habe?
LG Trisha
-
also ich verwende std::list<tree> kindknoten;
-
Thema verfehlt DerBaer.
-
Suche verfehlt C++ Forum Binärer Suchbaum
EDIT: Ups, gerade erst gelesen dass du einen allgemeinen Baum(was immer das ist) suchst.
-
ein allgemeiner Baum hat unbestimmt viele Nachfolger (und kann auch unsortiert sein) wie schon gesagt. Gesucht sind Ansätze für die Datenstruktur.
-
Wo ist das Problem eine Liste oder ein Vektor zu benutzen?
-
stimmt. eine liste, gott bin ich bescheuert, kann von einem forum moderator geclost werden.
-
das nicht so einfach zu lösen... da gibts keine "optimale" lösung... war da auch lange zeit auf der suche habs dann iwann aufgegeben. es gibt schon vershiedenste ansätze aber es kommt eben darauf an welche operation am öftesten durchgeführt wird. evtl. erklärst uns mal wofür du das genau brauchst. evtl. lässt sich das ja iwie in andere formen pressen;)
-
Dann gibt es gar keinen allgemeinen Baum, sondern nur einfach und doppelt verkettete Listen?
-
doch doch. man kann den baum nur in eine richtung durchlaufen, allerdings sind die einzelnen kindnachfolger nicht sortiert.
der listenansatz ist schon richtig für mich. In wirklichkeit hab ich nur gerade ein sogenanntes gedankenexperiment durchgeführt und dabei bin ich in diesen engpass gestoßen.
falls die geschichte wirklich jemanden interessiert: momentan im gedankenexperiment aktuell: alpha-beta pruning -> erste ansätze...
-
wennst eh keine random zugriffe hast schau dir mal das an http://www.dvs.tu-darmstadt.de/teaching/inf2/2001/skript/gdi3-ws2001-skript-kapitel4.pdf und speziell die umwandlung in einen binärbaum... hast natürlich die üblichen binär probleme...