Zum Inhalt springen

Listen und Bäume


lisa1

Empfohlene Beiträge



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]

post-52684-14430448290168_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Bearbeitet von DominikJ
Sorry ... Klotzkopp
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

also ich meine

empty und maketree sind richtig umgesetzt

Die 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 muss
Die musst du nicht erstellen, sondern benutzen. Steht angeblich auch im Kurstext.

und ich denke count muss ich als liste implementieren mit einer nicht rekursiven Breitensuche
Was 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?
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 meinen
Dann solltest du zuerst dieses grundlegende Problem lösen. Ohne Ahnung wirst du diese Aufgabe nicht lösen können.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

eine Liste Implementieren welche die Söhne ausgibt diese muss ich noch

machen

Eine 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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von lisa1
Link zu diesem Kommentar
Auf anderen Seiten teilen

ich denke so wäre es besser denn es muss ein schlüssel zurückgegeben werden
Wenn 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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...