Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » Binaerbaum » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Binaerbaum
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
serus
Grünschnabel


Dabei seit: 05.01.2016
Beiträge: 4

Binaerbaum Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
ich bin serus,
ich habe ein technisches Problem
ich kann nicht mehr kommentar schreiben oder einfach eine Nachricht schreiben

forsetzung zu meiner Frage :
der Baum ist nicht sortiert

Meine Ideen:
00
06.01.2016 18:19 serus ist offline Beiträge von serus suchen Nehmen Sie serus in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du kannst auf binärbaum nicht mehr antworten?
Würde mich sehr wundern, eigentlich sollten da auch Gäste schreiben können.

Dann musst du rekursiv durch alle Nachfolgeknoten gehen. Als Ergebnis lieferst du jeweils die bisher kleinste gefundene Zahl des Teilbaums zurück. So kriegst du das Minimum für die linke und rechte Hälfte, aus denen du dann wiederum das Minimum berechnen kannst.

__________________
Syntax Highlighting fürs Board (Link)
06.01.2016 18:23 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
serusasdasdasdasd
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

wie kann i durch alle Nachfolger gehen ??
um die kleineste Zahl zu finden soll ich Math.min() verwenden?
06.01.2016 18:46
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Schau dir nochmal an, wie ich die Anzahl der Nachfolgerknoten ermittelt habe. Das kannst du fast kopieren.

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 06.01.2016 18:50.

06.01.2016 18:48 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
SERUS12
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

int result = 1; //der aktuelle Knoten
int x = 0;
if (left != null) result += left.countChildsRecurs();

if (right != null) result += right.countChildsRecurs();
result = Math.min(x ,right.countChildsRecurs());
return result;
so meinst du ?
06.01.2016 19:02
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein, du musst schon irgendwo auf den Inhalt des Knotens zugreifen.

__________________
Syntax Highlighting fürs Board (Link)
06.01.2016 19:12 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
SERUS13
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

int result = 1; //der aktuelle Knoten
int x = 0;
if (left != null) result += left.countChildsRecurs();

if (right != null) result += right.countChildsRecurs();
x = Math.min(result ,right.countChildsRecurs());
return x;
jz?
06.01.2016 19:16
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn du den kleinsten Wert berechnen willst, was interessiert dann die Anzahl der Kindknoten?
Nein, das passt immer noch nicht.

__________________
Syntax Highlighting fürs Board (Link)
06.01.2016 19:18 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
serus14
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ich ueberlege aber kriege nicht hin unglücklich
es faellt mir was ein
schreibe ich if schleife also
if (right != null) result += right.countChildsRecurs() {
if( x < parent.right){ :


god:
06.01.2016 19:44
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

countChildsRecurs ist hier fehl am Platz.
Schreibe eine neue Funktion und rufe dann die in der Rekursion auf.

Und result=1 ist auch falsch. Irgendwo muss ja der Wert des Knotens berücksichtigt werden, dort wäre ein guter Zeitpunkt.

__________________
Syntax Highlighting fürs Board (Link)
06.01.2016 19:47 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Sonstige Fragen » Binaerbaum