Hallo Richard,
- Sven, Christoph und Vinzenz, ihr habt natürlich recht, dass die Datenstruktur schlecht ist. Aber dessen war ich mir von Anfang an bewusst. Ich wollte an einzelnen Punkten testen, um für bestimmte Aufgaben geeignete Algorithmen zu finden. Dazu gehörte erstmal _nur_ das Zeichnen des Threadbaums.
leider kannst Du diese zwei Dinge nicht trennen :-)
Wie willst Du mit einer ungeeigneten Struktur einen geeigneten Algorithmus für die geeignete Struktur ermitteln? Das ist mir völlig schleierhaft.
Baumstruktur und Durchlaufen einer Baumstruktur gehören zusammen. Sinnvolles Durchlaufen einer Baumstruktur basiert auf einem Algorithmus, der auf einer Baumstruktur arbeitet. Wie Du diese Baumstruktur realisierst, das ist eine ganz andere Geschichte. Und das Zeichnen eines einzelnen Threads basiert auf dem Durchlaufen des zugehörigen Baumes von der Wurzel, dem Ausgangsposting, bis hin zu den Blättern, d.h. Antwortpostings, auf die noch niemand geantwortet hat.
Als Lesetipp möchte ich Dir die entsprechenden Artikel aus der englischsprachigen Wikipedia Tree, data structure und tree traversal ans Herz legen, die deutsche Wikipedia ist hier überraschenderweise wenig informativ. Es lohnt sich nicht wirklich, Baum (Graphentheorie) und verlinkte Artikel zu lesen. Ich habe zumindest nichts Vernünftiges über das Durchlaufen von Bäumen gefunden. :-(
Möglicherweise habt ihr meinen Nachtrag überlesen
Doch, doch. Dieses Posting habe ich schon durchgelesen. Es bestätigte mich darin, Dir zu raten, mit einem ganz neuen Ansatz an Deine Aufgabenstellung heranzugehen.
oder ich habe mich nicht deutlich genug ausgedrückt. Das ganze war bis jetzt nicht praxistauglich, aber darum ging es erstmal auch gar nicht. Da mir aber noch Erfahrungen fehlen (ich lerne PHP erst seit wenigen Monaten), wollte ich eben erstmal rumprobieren.
Richard, es ist völlig gleichgültig, in welcher Programmiersprache Du Dein Übungsobjekt "threadbasiertes Forum" umsetzen willst. Die Datenstrukturen, Algorithmen und Objekte bleiben die gleichen.
Wenn Du Deine Objekte sauber definiert hast, die geeigneten Algorithmen für die notwendigen Datenstrukturen gefunden hast, dann kannst Du das Konzept in den verschiedensten Sprachen umsetzen. Die Programmiersprachen stellen Dir zwar unterschiedliche Werkzeuge zur Verfügung, haben eine unterschiedliche Syntax, der Lösungsweg wird bei sehr vielen Programmiersprachen sehr ähnlich ausfallen.
Genau aus diesem Grund solltest Du die Problemstellung, die Du Dir selbst gestellt hast, richtig[tm] angehen - und nicht Zeit und Mühe mit abstrusen Experimenten vergeuden. Grundlegender Umgang mit Datenstrukturen und Algorithmen mag Dir langweilig vorkommen, solide Kenntnisse derselben helfen Dir jedoch später bei konkreten Problemen.
Ich kann Dir als Lektüre ein Standardwerk zu Algorithmen empfehlen:
Robert Sedgewick, Algorithmen (Addison-Wesley)
Das Buch gibt es in verschiedenen Versionen für verschiedene Programmiersprachen. Mir hat es seinerzeit wenig ausgemacht, dass meine Ausgabe "Algorithmen in Pascal" ist, während ich die Algorithmen und Datenstrukturen in C umsetzte - ganz im Gegenteil, ich habe so noch mehr gelernt. Vielleicht kannst Du ein Exemplar über die Bibliothek Deiner Wahl ausleihen.
Freundliche Grüße
Vinzenz