Baumstruktur tiefe N erzeugen

Helgon

Bekanntes Mitglied
Hey.. steh momentan mit folgendem Problem aufm Schlauch.

Ich möchte eine Baumstruktur zur Laufzeit folgender Struktur erzeugen.

Meine Eigene Node Klasse habe ich bereits implementiert und "manuell" erzeugt funktioniert sie auch richtig. Siehe hier:

Java:
		Node a1 = new Node(rootNode);
		Node a2 = new Node(rootNode);

		Node b1 = new Node(a1);
		Node b2 = new Node(a1);
		Node b3 = new Node(a2);
		Node b4 = new Node(a2);

		Node c1 = new Node(b1);
		Node c2 = new Node(b1);
		Node c3 = new Node(b2);
		Node c4 = new Node(b2);
		Node c5 = new Node(b3);
		Node c6 = new Node(b3);
		Node c7 = new Node(b4);
		Node c8 = new Node(b4);
		
		System.out.println(rootNode.log(-1));

Code:
\---ROOT
       \---NODE
              \---NODE
                     \---NODE
                     \---NODE
              \---NODE
                     \---NODE
                     \---NODE
       \---NODE
              \---NODE
                     \---NODE
                     \---NODE
              \---NODE
                     \---NODE
                     \---NODE

Ist jetzt nurn Beispiel. Ich brauche einen Baum der Immer so viele Söhne wie Anfangszweige hat.

Im beispiel hier oben wäre es 2. Also 2 Söhne am Anfang, dann hat jeder Sohn weitere 2 Söhne. Soll theoretisch eben abhängig von N anfangs sein.

Nur komm ich grad einfach nicht drauf wie ichs umsetzen soll, dass jeder Sohn den parent kennt (wenn ichs iterativ mache).

Vielleicht kann mir grad wer auf die Sprünge helfen / Irgend ne Idee

Grüße
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Ich habe im Studium zwar mal gelernt, dass jede Rekursion sich in eine Iteration umformen lässt. Allein, ich bin oft zu doof dazu. Gerade das Hinabsteigen in Bäumen finde ich einen validen Anwendungsfall für Rekursion.
 

Kevin94

Top Contributor
Rein iterativ fällt mir jetzt auch keine Lösung ein, so eine Strucktur generisch zu erzeugen, aber mit Rekursion gehts:
Java:
void createTree(int elements,Node parent, int ebenen)
{
    if(ebenen<=0) return;
    for(int i=0;i<elements;i++) {
        Node tmp=new Node(parent);
        createTree(elements,tmp,ebenen-1);
    }
}

//Beispielhafter Aufruf für deinen Tree:
createTree(2,root,3);
 

Helgon

Bekanntes Mitglied
Ich verwende ja ungern LOL, aber diesmal wirklich LOL!

nille hat mich auf die Idee gebracht, dass es rekursiv geht (hatte irgendwie im Kopf das man rekursives immer iterativ machen kann, aber iteratives nicht immer rekursiv, deswegen hatte ich den Gedanken eben irgendwie verworfen).

Habe dann aber nochmal drüber nachgedacht, wollte posten. Sehe das jemand anderes noch geantwortet hat und siehe da: Die Lösung ist praktisch genau das, worauf ich auch gekommen bin. Fast sogar die gleiche Variabeln Bezeichnung :)

Meine Lösung

Java:
	public void generateSubNodes(int n, int level, Node parent){
		
		if(level > 0){	
			level--;
			for(int i = 0; i < n; i++){
				Node temp = new Node(parent);
				generateSubNodes(n, level, temp);
			}
		}
	}

Auf jeden Fall danke euch beiden!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J ternäre(3) Baumstruktur Java Basics - Anfänger-Themen 2
W Baumstruktur Java Basics - Anfänger-Themen 8
S Baumstruktur: tiefsten Knoten finden Java Basics - Anfänger-Themen 3
C ausgabe Baumstruktur java.io.File Java Basics - Anfänger-Themen 2
GetStringFrmObj Klassen Baumstruktur aus XMls erstellen, aber wie? Java Basics - Anfänger-Themen 15
S Baumstruktur zusätzlich ebenenweise repräsentieren Java Basics - Anfänger-Themen 9
S RBTree - baumstruktur darstellen Java Basics - Anfänger-Themen 7
A Baumstruktur Java Basics - Anfänger-Themen 6
D Baumstruktur erzeugen Java Basics - Anfänger-Themen 18
R Baumstruktur Java Basics - Anfänger-Themen 4
G Baumstruktur rekursiv durchlaufen Java Basics - Anfänger-Themen 2
G Einfügen von Elementen in Baumstruktur Java Basics - Anfänger-Themen 3
K Java Ausgabe als Baumstruktur Java Basics - Anfänger-Themen 8
M Baumstruktur durchgehen Java Basics - Anfänger-Themen 9
G Baumstruktur Java Basics - Anfänger-Themen 3
F Baumstruktur aus 2 DB-Tabellen Java Basics - Anfänger-Themen 6
L Tiefe Kopie einer Zeile eines zweidimensionalen Arrays Java Basics - Anfänger-Themen 1
T Rekursiv Tiefe eines binären Suchbaums ermitteln Java Basics - Anfänger-Themen 22
X Kopierkonstruktor / tiefe Kopie Java Basics - Anfänger-Themen 3
V Tiefe Kopie Java Basics - Anfänger-Themen 3
K Rot-Schwarz-Baum min und max-Tiefe Java Basics - Anfänger-Themen 1
S Klassen Tiefe Kopie mittels Kopierkonstruktor Java Basics - Anfänger-Themen 6
N Tiefe im binären Suchbaum Java Basics - Anfänger-Themen 9
B Mehrdimensionales Array + Tiefe Java Basics - Anfänger-Themen 4
? clonen -tiefe Kopie Java Basics - Anfänger-Themen 6
K Tiefe im Binärbaum Java Basics - Anfänger-Themen 2
M Binärer Baum Tiefe Java Basics - Anfänger-Themen 14
I Methoden aufrufe in die Tiefe Java Basics - Anfänger-Themen 5
F Tiefe eines Baumes Java Basics - Anfänger-Themen 6
W Javadoc HTML erzeugen mit allen dependency Java Basics - Anfänger-Themen 11
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
C Runnable Jar-File erzeugen Java Basics - Anfänger-Themen 14
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
C Instanzen, wann muss ich Instanzen erzeugen & wo?) Java Basics - Anfänger-Themen 23
S Erzeugen einer eindeutigen ID Java Basics - Anfänger-Themen 2
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
L Simples Spielfeld erzeugen Java Basics - Anfänger-Themen 1
G Anklickbaren Text erzeugen Java Basics - Anfänger-Themen 2
I Object-Oriented Programming, Objekt erzeugen Java Basics - Anfänger-Themen 1
P Objekt aus String-Array erzeugen Java Basics - Anfänger-Themen 104
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39
S Array erzeugen mit verschiedener Verteilung Java Basics - Anfänger-Themen 11
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
K Methoden JTExtField mit Array erzeugen Java Basics - Anfänger-Themen 13
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
I TextField Array mit for Loop erzeugen Java Basics - Anfänger-Themen 4
M Objekte mit einer Schleife mehrmals erzeugen Java Basics - Anfänger-Themen 17
G Objekt der selben Klasse wie selbst mit Aufrufen des Konstruktors erzeugen Java Basics - Anfänger-Themen 14
J Eindeutige Nummer (8 stellig) erzeugen Java Basics - Anfänger-Themen 9
C Instanz einer Klasse während if-Abfrage erzeugen und bei zweiter if-Abfrage wiederverwenden Java Basics - Anfänger-Themen 6
B OOP Objekt in IF erzeugen - funktioniert nicht so richtig Java Basics - Anfänger-Themen 11
neerual Int-Felder erzeugen Java Basics - Anfänger-Themen 16
R Objekte zur Laufzeit in Schleife erzeugen und in ArrayList ablegen Java Basics - Anfänger-Themen 4
D Erste Schritte Random erzeugen Java Basics - Anfänger-Themen 28
P Objekt mit =new in Methode erzeugen Java Basics - Anfänger-Themen 4
L Threads Laufbild Erzeugen Problem mit Aktualisieren des JPanels Java Basics - Anfänger-Themen 2
J In Java einen Ton erzeugen Java Basics - Anfänger-Themen 8
C Array Muster erzeugen Java Basics - Anfänger-Themen 2
S Objekte "gegebenfalls" erzeugen Java Basics - Anfänger-Themen 5
D Java Ausdruck erzeugen / Formular Java Basics - Anfänger-Themen 4
N Objekt in Methode einer anderen Klasse erzeugen Java Basics - Anfänger-Themen 9
R Baum erzeugen Java Basics - Anfänger-Themen 61
D Objekt per If erzeugen. Java Basics - Anfänger-Themen 11
J Bildschirmausgabe erzeugen Java Basics - Anfänger-Themen 30
B Beliebig viele Rechtecke erzeugen Java Basics - Anfänger-Themen 5
J Objekt mit Methodendruchlauf erzeugen Java Basics - Anfänger-Themen 1
Detox Class Datei erzeugen nicht möglich über cmd Java Basics - Anfänger-Themen 1
P Erste Schritte [gelöst]Erzeugen einer Klasse aus der Klassenbibliothek Java Basics - Anfänger-Themen 4
C Int mit vorangestellten Nullen und maximal 4 stellen erzeugen. Java Basics - Anfänger-Themen 4
P Input/Output Objekte per Eingabe erzeugen Java Basics - Anfänger-Themen 1
D Erste Schritte Dynamisch Objekte erzeugen und diese durchsuchen Java Basics - Anfänger-Themen 7
U JNA: Strukturen erzeugen Java Basics - Anfänger-Themen 8
S Variablen Variable erzeugen und Array mit Variablen befüllen Java Basics - Anfänger-Themen 26
S Header- Datei erzeugen mit javah Java Basics - Anfänger-Themen 1
J Objekte zur Laufzeit erzeugen und direkt verwenden Java Basics - Anfänger-Themen 9
R Erste Schritte Schleife erzeugen (mit If Anweisung) Java Basics - Anfänger-Themen 3
I HTML Tabelle nur so lange erzeugen bis Höhe erreicht Java Basics - Anfänger-Themen 9
M Zusatzzahlen in array erzeugen Java Basics - Anfänger-Themen 5
B Stützstellen (Vektor) erzeugen? Java Basics - Anfänger-Themen 8
Z Erste Schritte 9x9 Felder Erzeugen+Aufrufen Java Basics - Anfänger-Themen 1
Y Variable Menge von Objekten erzeugen und mit ihren Attributen rechnen Java Basics - Anfänger-Themen 7
J Anzahl von for-Schleifen in Abhängigkeit von Zahleneingabe erzeugen Java Basics - Anfänger-Themen 1
J JLabels in schleife erzeugen mit verschiedenen namen? Java Basics - Anfänger-Themen 5
K JLabel zur Laufzeit dynamisch erzeugen Java Basics - Anfänger-Themen 7
F Input/Output Blocking file read erzeugen Java Basics - Anfänger-Themen 0
Thallius Klassen aus Classname programmatisch erzeugen. Wie geht das in java? Java Basics - Anfänger-Themen 5
B Zufallsdatum innerhalb eines bestimmten Bereiches erzeugen Java Basics - Anfänger-Themen 3
D JComboBox erzeugen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben