Binaerbaum |
06.01.2016, 18:19 | Auf diesen Beitrag antworten » |
serus | Binaerbaum 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:23 | Auf diesen Beitrag antworten » |
eulerscheZahl | 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. |
06.01.2016, 18:46 | Auf diesen Beitrag antworten » |
serusasdasdasdasd | wie kann i durch alle Nachfolger gehen ?? um die kleineste Zahl zu finden soll ich Math.min() verwenden? |
06.01.2016, 18:48 | Auf diesen Beitrag antworten » |
eulerscheZahl | Schau dir nochmal an, wie ich die Anzahl der Nachfolgerknoten ermittelt habe. Das kannst du fast kopieren. |
Anzeige | |
|
|
06.01.2016, 19:02 | Auf diesen Beitrag antworten » |
SERUS12 | 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:12 | Auf diesen Beitrag antworten » |
eulerscheZahl | Nein, du musst schon irgendwo auf den Inhalt des Knotens zugreifen. |
06.01.2016, 19:16 | Auf diesen Beitrag antworten » |
SERUS13 | 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:18 | Auf diesen Beitrag antworten » |
eulerscheZahl | Wenn du den kleinsten Wert berechnen willst, was interessiert dann die Anzahl der Kindknoten? Nein, das passt immer noch nicht. |
06.01.2016, 19:44 | Auf diesen Beitrag antworten » |
serus14 | ich ueberlege aber kriege nicht hin 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:47 | Auf diesen Beitrag antworten » |
eulerscheZahl | 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. |
|