Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Listen und Bäume

Empfohlene Antworten

Veröffentlicht


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

was ist alles falsch und wie soll ich es verbessern?

soll ich diese Operationen als Liste implementieren also den Baum als Liste?

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.

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

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

ja und dann programiere ich empty, maketree, key, degree, isempty als liste?

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?

public boolean empty () {

return first = = null;

versuch der empty funktion:confused:

ja so ungefähr habe ich keine Ahnung was sie meinen

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.

ich sende jetzt die Abbildung 3.29 hier ist empty null leer

public boolean empty(){

return == null;

post-52684-14430448292957_thumb.jpg

somit ist die funktion maketree aber richtig

public empty(){

return == null

}

public maketree(sonl, elem, sonr)

{

l = sonl; elem = x; r = sonr;

}

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?

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:

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.
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

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?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.