JayJay007 Geschrieben 24. August 2009 Teilen Geschrieben 24. August 2009 Hallo! Bin neu hier und habe mal eine Frage zu Baumstrukturen in C! Kann man Allgemein sagen, dass eine Datenstruktur dann ein Baum ist, wenn es genau einen Knoten gibt, der keinen Vorgänger hat(Wurzel) Alle Knoten besitzen einen Vorgänger außer Wurzel. Wäre das einen Antwort auf die Frage"Wie können Baumstrukturen zu Datenstrukturen verwendet werden"??? Desweiteren habe ich eine Frage zu Datenstrukturen in C. Wie würde ein Baum aussehen, der Geburtsjahre(Der Schlüssel)und Geburtsnamen(Zeichenkette max 80 Zeichen) verknüpfen soll? Mein ansatz wäre struct knoten { char[61]; int Geburtsname; struct knoten *pointer_links; struct knoten *pointer_rechts; }; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 24. August 2009 Teilen Geschrieben 24. August 2009 Hört sich für mich nach Hausaufgaben an und Du hättest bei Wikipedia selbst nachschauen können: Baum (Graphentheorie) ? Wikipedia Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JayJay007 Geschrieben 24. August 2009 Autor Teilen Geschrieben 24. August 2009 Tach. Danke für die Antwort! Hatte mir das Kapitel selber schon in unserem Vorlesungsskript durchgelesen. Bei der Aufgabe handelt es sich nicht um Hausaufgaben, sondern um eine Aufgabe aus der letzten Klausur 2008. Wie stehts denn mit dem Lösungsvorschlag in C? Könnte man den Programmcode so lassen? Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 24. August 2009 Teilen Geschrieben 24. August 2009 Wie stehts denn mit dem Lösungsvorschlag in C? Könnte man den Programmcode so lassen? Nein, zunächst einmal benutze die Code-Tags. Der Code selbst ist syntaktisch nicht korrekt und per Definition hat ein Knoten eines Baums nicht max. 2 Childs. Ein Knoten kann beliebig viele Child-Elemente haben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JayJay007 Geschrieben 24. August 2009 Autor Teilen Geschrieben 24. August 2009 typedef struct _knoten { struct _knoten *links, *rechts; int wert; } knoten; Das würde doch auf einen binären Baum zutreffen oder? Da laut Definition ein Binärer Baum aus der Ordnung n=2 besteht, das heißt jeder Knoten hat genau zwei Kindknoten) soweit richtig? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 24. August 2009 Teilen Geschrieben 24. August 2009 Ich werde nicht jede einzelne Definition von Bäumen und deren Umsetzung mit Dir durchgehen. Ich empfehle Dir das Buch von R. Sedgewick Algorithmen: Amazon.de: Robert Sedgewick: Bücher in dem diese ganzen Themen ausführlich erklärt sind Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JayJay007 Geschrieben 24. August 2009 Autor Teilen Geschrieben 24. August 2009 Danke, allerdings haben wir C nur 2 Vorlesungen behandelt, Bäume waren 2 Vorlesungsseiten. Danke trotzdem für den Buchtipp. Könntest du so nett sein, und nochmal Bezug auf die Aufgabe nehmen. Wie würde ein Code in C aussehen, der den Baum verknüpft mit Geburtsjahr und Geburtsname? Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. August 2009 Teilen Geschrieben 24. August 2009 Die Frage scheint sehr auf den Vorlesungsstoff zugeschnitten zu sein. Vermutlich will der Dozent eine spezifische, in der Vorlesung behandelte Variante sehen. Wir könnten dir nur allgemeine Antworten geben. Ich bezweifle, dass dir das weiterhilft. Was die Struktur in C angeht: Man kann jeden Baum in einen äquivalenten Binärbaum transformieren, indem man den linken Kindknoten als erstes Kind und den rechten als nächsten Geschwisterknoten interpretiert. Aber wie gesagt, keine Ahnung, ob das das ist, was der Dozent sehen will. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 24. August 2009 Teilen Geschrieben 24. August 2009 Danke, allerdings haben wir C nur 2 Vorlesungen behandelt, Bäume waren 2 Vorlesungsseiten. Eine Vorlesung soll nur einen Ausschnitt geben, Du solltest Dir immer weiter führende Literatur anschauen Könntest du so nett sein, und nochmal Bezug auf die Aufgabe nehmen. Wie würde ein Code in C aussehen, der den Baum verknüpft mit Geburtsjahr und Geburtsname? Ich poste keine fertigen Codes, denn der Lerneffekt ist damit bei Dir überhaupt nicht vorhanden. Zusätzlich ist die Frage, wofür Du einen Baum benötigst, denn so macht das keinen Sinn. Du hast einen Knoten mit 2 Informationen und dann einen Binärbaum. Welchen Sinn macht es diese Informationen in einen Binärbaum abzulegen? Warum nennst Du das Datum als "Schlüssel". Wo ist der Zusammenhang? Im nächsten Post, hast Du nun auf einmal einen Binärbaum mit einem Wert. Im ersten Post wird eine Zeichenkette von 80 Zeichen verlangt, das hast Du schon inkorrekt umgesetzt. Ebenso ist die Variablendeklaration syntaktisch und auch semantisch falsch (der Geburtsname ist keine Zahl). Du solltest zunächst einmal Dir das Basiswissen von C aneignen, die Fragestellung vollständig verstehen und statische Datenstrukturen beherrschen, bevor Du komplexere Strukturen, wie Bäume behandelst Das Forum ist keine Hausaufgaben oder Klausurhilfe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.