lisa1 Geschrieben 16. April 2009 Geschrieben 16. April 2009 Aufgabe class arbtree{ arbtree links; abtree rechts; int key; arbtree (int key); this.links = null; this.rechts = null; this.inhalt = key; public boolean empty(){ return key == null; } public static void key1(int key){ this.key = key; } public knoten getson(int i) { return sohn[i]; } public static void degree (int sonNodes(){ int sonl = 0; sumr = 0; if(left !=null) suml = left.sumnodes(); if (right !=null) sumr = right.sum.nodes(); return suml + sumr; } public static void maketree (arbtree l, keyx, arbtree r) { left = l; key = x; right = r; } Aufgabe c) public boolean count (int elem, int anz){ node k = root; anz = 0; do { if (k.date == elem) return true; anz = anz + 1; if(k.data > elem) k = k.links; if(k.data < elem) k = k.rechts; } while (k != null){ return false; } wo haben sich Fehler eingeschlichen kann ich dies so programmieren? [/code] Zitieren
Klotzkopp Geschrieben 16. April 2009 Geschrieben 16. April 2009 Das ist so ziemlich komplett falsch. Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 was ist alles falsch und wie soll ich es verbessern? Zitieren
Klotzkopp Geschrieben 16. April 2009 Geschrieben 16. April 2009 was ist alles falsch Wie gesagt, so ziemlich alles. und wie soll ich es verbessern?Ein erster Schritt in die richtige Richtung wäre, das zu tun, was in der Aufgabenstellung steht. Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 soll ich diese Operationen als Liste implementieren also den Baum als Liste? Zitieren
Klotzkopp Geschrieben 16. April 2009 Geschrieben 16. April 2009 soll ich diese Operationen als Liste implementieren also den Baum als Liste?Statt die Aufgabenstellung als über 2 Megabyte großes JPG hier reinzustellen, hättest du sie vielleicht besser gelesen. Ich habe nämlich den Eindruck, das ist nicht passiert. Schreib doch mal die einzelnen Anweisungen der Aufgabenstellung raus, und dazu, ob du meinst, sie jeweils umgesetzt zu haben. Zitieren
DominikJ Geschrieben 16. April 2009 Geschrieben 16. April 2009 (bearbeitet) Naja, so wies da steht Ein Anfang wäre: import java.util.List; Dann würde ich noch ClassNames Konventionsgemäß Groß beginnen lassen: public class Arbtree { Und seine Gewünschte Liste sons hinzufügen: List<Arbtree> sons; ... Ok Klotzkopp macht Bearbeitet 16. April 2009 von DominikJ Sorry ... Klotzkopp Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 also ich meine empty und maketree sind richtig umgesetzt mit key da habe ich glaube ich ein Problem und mit degree und son auch ich nehme an ich muss das mit einer liste implementieren weil man eine generische Java Klasse list1<ElemType> erstellen muss und ich denke count muss ich als liste implementieren mit einer nicht rekursiven Breitensuche Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 ja und dann programiere ich empty, maketree, key, degree, isempty als liste? Zitieren
Klotzkopp Geschrieben 16. April 2009 Geschrieben 16. April 2009 also ich meine empty und maketree sind richtig umgesetztDie Aufgabe bezieht sich hier auf den "Kurstext", aber ich gehe nicht davon aus, dass empty prüfen soll, ob der Key leer ist. maketree liest sich, wenn man mal über die Syntaxfehler hinwegsieht, auch nicht besonder sinnvoll. ich nehme an ich muss das mit einer liste implementieren weil man eine generische Java Klasse list1<ElemType> erstellen mussDie musst du nicht erstellen, sondern benutzen. Steht angeblich auch im Kurstext. und ich denke count muss ich als liste implementieren mit einer nicht rekursiven BreitensucheWas meinst du mit "als Liste"? ja und dann programiere ich empty, maketree, key, degree, isempty als liste?Kann es sein, dass du überhaupt keine Ahnung hast, was du da machen sollst? Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 public boolean empty () { return first = = null; versuch der empty funktion:confused: Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 ja so ungefähr habe ich keine Ahnung was sie meinen Zitieren
Klotzkopp Geschrieben 16. April 2009 Geschrieben 16. April 2009 public boolean empty () { return first = = null; versuch der empty funktion:confused: Und was ist first? Welchen Zweck hatte denn empty in Abbildung 3.29 des Kurstextes? Liegt dir dieser Kurstext überhaupt vor? ja so ungefähr habe ich keine Ahnung was sie meinenDann solltest du zuerst dieses grundlegende Problem lösen. Ohne Ahnung wirst du diese Aufgabe nicht lösen können. Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 ich sende jetzt die Abbildung 3.29 hier ist empty null leer public boolean empty(){ return == null; Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 somit ist die funktion maketree aber richtig Zitieren
Klotzkopp Geschrieben 16. April 2009 Geschrieben 16. April 2009 ich sende jetzt die Abbildung 3.29Danke für einen weiteren riesigen Anhang. hier ist empty null leerNaja, so ähnlich. Verstehst du, was empty tun soll? public boolean empty(){ return == null;empty soll sicher nicht einen boolean zurückgeben. Zitieren
Klotzkopp Geschrieben 16. April 2009 Geschrieben 16. April 2009 somit ist die funktion maketree aber richtig Deine maketree-Implementierung benutzt left und right, die laut Aufgabestellung gar nicht mehr drin sein sollen! Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 public empty(){ return == null } Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 public maketree(sonl, elem, sonr) { l = sonl; elem = x; r = sonr; } Zitieren
lisa1 Geschrieben 16. April 2009 Autor Geschrieben 16. April 2009 Das ist so ziemlich komplett falsch. muss ich bei key einen zeiger auf die wurzel programmieren? und bei son den rechten und linken sohn ausgeben? Zitieren
Klotzkopp Geschrieben 16. April 2009 Geschrieben 16. April 2009 muss ich bei key einen zeiger auf die wurzel programmieren?Nein. und bei son den rechten und linken sohn ausgeben?Es gibt keinen "rechten" und "linken" Sohn. Das ist kein Binärbaum. Raten wird dich nicht weiterbringen. Zitieren
lisa1 Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 Nein. Es gibt keinen "rechten" und "linken" Sohn. Das ist kein Binärbaum. Raten wird dich nicht weiterbringen. eine Liste Implementieren welche die Söhne ausgibt diese muss ich noch machen und für key würde ich implementieren public int getkey(){ return key; } schlüssel werden zurückgegeben ich rate jetzt nicht:rolleyes: Zitieren
Klotzkopp Geschrieben 17. April 2009 Geschrieben 17. April 2009 eine Liste Implementieren welche die Söhne ausgibt diese muss ich noch machenEine Liste ist eine Datenstruktur. Datenstrukturen geben nichts aus. public int getkey(){ return key; }Die Methode soll key heißen. Und wenn du nicht geraten hast, müsstest du mir ja erklären können, wie du hier auf int kommst. Zitieren
lisa1 Geschrieben 17. April 2009 Autor Geschrieben 17. April 2009 (bearbeitet) eine Liste Implementieren welche die Söhne ausgibt diese muss ich noch machen und für key würde ich implementieren public getkey(){ return key; } schlüssel werden zurückgegeben ich rate jetzt nicht:rolleyes: ich denke so wäre es besser denn es muss ein schlüssel zurückgegeben werden und so wäre public boolean isempty (int key){ if int key == null; return true else return false } public getson (int i){ { return son } get function liefert den sohn zurück eine Möglichkeit von isempty :upps Bearbeitet 17. April 2009 von lisa1 Zitieren
Klotzkopp Geschrieben 17. April 2009 Geschrieben 17. April 2009 ich denke so wäre es besser denn es muss ein schlüssel zurückgegeben werdenWenn du den Typ weglässt, ist das kein gültiger Java-Code mehr. Deine "neue" isempty-Implementierung ist auch Blödsinn. Wir können das hier noch tagelang weiterspielen, aber das bringt dir nichts. Die Wahrscheinlichkeit, dass du mit deiner jetzigen Vorgehensweise auf eine richtige Lösung kommst, ist praktisch gleich Null. Meiner Meinung nach hast du momentan nicht mal ansatzweise die nötigen Kenntnisse, diese Aufgabe zu lösen. Mit ein paar Tipps ist dir nicht geholfen, du hast massive Lücken bei den Grundlagen. Ich weiß nicht wieso, und ich will das hier auch nicht erörtern. Ein Webforum wie dieses ist aber nicht geeignet, die Ausbildung nachzuholen, die dieser Aufgabe vorausgegangen sein muss. Bestenfalls (oder schlimmstenfalls, kommt auf den Standpunkt an) kommst du so an eine Lösung für diese konkrete Aufgabe, was dir zwar für den Moment hilft, aber nicht auf lange Sicht, weil damit deine Wissenslücken nicht behoben sind. Bei der nächsten Aufgabe, oder spätestens bei der Prüfung, hast du dann wieder dasselbe Problem. Die Frage ist also: Was willst du? Eine schnelle Lösung für diese Aufgabe, oder deine Wissenslücken schließen? Zitieren
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.