tree rekursiv

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

wie kann ich denn einen tree rekursiv durchlaufen?
und zwar möchte ich jedes Blatt und jeden Knoten überprüfen, ob es rot ist.
Meine Knoten und Blätter sind vom Typ MyTreeNode und MyTreeNode hat ein Color-Attribut.

Ich habe schon einiges versucht, bekomme es aber nicht hin.

Danke!
 
G

Guest

Gast
ok...aber ich weiß.....dass da einiges falsch ist...habe noch nit mit rekursionen gearbeitet

Code:
public Vector checkDialog(JTree tree,DefaultTreeModel treeModel,TreePath path)
	{
		checkDialogRecursive(tree,treeModel,path);
		return vec;
	}
	
//	check Dialogs (alle Knoten,die die Farbe rot haben)
	public void checkDialogRecursive(JTree tree,DefaultTreeModel treeModel,TreePath path) {
           
			MyTreeNode node = (MyTreeNode)path.getLastPathComponent();
			int count = treeModel.getChildCount(node);
			
			if (count == 0) 
			{
				if (treeModel.isLeaf(node)){
					if(node.getColor() == Color.RED)
					{
						vec.add(node);
					}
				}
			    else{
				    if(node.getColor() == Color.RED)
				    {
					  vec.add(node);
				     }
			     } 
			}
			else{
				for (int i = 0; i < count; i++)
					checkDialogRecursive(tree,treeModel,path.pathByAddingChild(treeModel.getChild(node, i)));
			}
			}//endmethod checkDialogRecursive


das problem ist auch, ich möchte das ganze vom root aus starten lassen, und nicht vom aktuell selektierten knoten(path)
 
G

Guest

Gast
mmh..ich kanns ja nochmal versuchen.....wobei ein bisschen code schon schön wäre :wink:
 
G

Guest

Gast
ich habs so gemacht... geht aber auch nicht...
Code:
public Vector checkDialog(JTree tree,DefaultTreeModel treeModel,TreePath path)
	{
		checkDialogRecursive(tree,treeModel,path);
		return vec;
	}
	
//	check Dialogs (alle Knoten,die die Farbe rot haben)
	public void checkDialogRecursive(JTree tree,DefaultTreeModel treeModel,TreePath path) {
           
			MyTreeNode node = (MyTreeNode)path.getLastPathComponent();
			int count;
			if(treeModel.isLeaf(node))
			{
				if(node.getColor() == Color.RED)
				{
					vec.add(node);
				}
			}
			else
			{
				if(node.getColor() == Color.RED)
				{
					vec.add(node);
				}
				count = treeModel.getChildCount(node);
				for (int i = 0; i < count; i++)
				{
					if(node.getChildAt(i).isLeaf())
					{
						if(node.getColor() == Color.RED)
						{
							vec.add(node);
						}
					}
					else
						checkDialogRecursive(tree,treeModel,path.pathByAddingChild(treeModel.getChild(node, i)));
				}//endfor			
			}
			
			}//endmethod checkDialogRecursive

ich bin auch nicht sicher, ob das mit dem pathByAddingChild so stimmt
 
S

SlaterB

Gast
warum dieser Kram mit Color.RED?
überlege dir doch erstmal eine Operation, die einfach nur die Knoten durchläuft und vielleicht
System.out.println("Hello");
pro Knoten macht, aber nicht viel mehr..

-------

wozu das mit dem Pfad?, selbst wenn es geht wärs noch unnötig,
gibt doch das Child direkt weiter
 
G

Guest

Gast
weil ich den tree wegen dem color.red durchlaufen muss!

gut, dann übergeb ich gleich das child
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L File Tree rekursiv Java Basics - Anfänger-Themen 10
M Parse-Tree eines statements darstellen Java Basics - Anfänger-Themen 0
RudiRüssel Tree Java Basics - Anfänger-Themen 3
Vince42 NIO File Tree in XML umwandeln Java Basics - Anfänger-Themen 10
S Binary Search Tree - Nummerierung in Inorder Java Basics - Anfänger-Themen 5
P expression tree Java Basics - Anfänger-Themen 4
T Expression Tree.. identifier + Grundaufbau? Java Basics - Anfänger-Themen 2
A Anzahl nodes in einem Tree Java Basics - Anfänger-Themen 2
L Linksrotation RedBlack Tree Java Basics - Anfänger-Themen 3
M AVL Tree Java Basics - Anfänger-Themen 4
L Binear Tree Java Basics - Anfänger-Themen 5
L File Tree Node ausgeben Java Basics - Anfänger-Themen 2
V libssrckdtree-j Generic k-d tree Java library - weiss nicht wo des hin soll Java Basics - Anfänger-Themen 2
T Java Tree Frage Java Basics - Anfänger-Themen 2
P Tree aus XML Daten aufbauen Java Basics - Anfänger-Themen 9
R Tree gefüllt mit den Directory Java Basics - Anfänger-Themen 2
B API für Tree Java Basics - Anfänger-Themen 4
M Pfade in Tree einbinden Java Basics - Anfänger-Themen 2
R Multiway Tree Java Basics - Anfänger-Themen 3
R Tree + bilder ? Java Basics - Anfänger-Themen 7
M Minimal Spanning Tree mit Greedy Java Basics - Anfänger-Themen 2
J Erweitern eines Tree-Pfades? Java Basics - Anfänger-Themen 3
H Passwort Brute Force rekursiv Java Basics - Anfänger-Themen 7
1 Array rekursiv durchlaufen Java Basics - Anfänger-Themen 8
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
R0m1lly Kombinationen aus int array rekursiv Java Basics - Anfänger-Themen 2
L Rekursiv gegebenes Passwort herausfinden. Java Basics - Anfänger-Themen 2
P9cman Char Index rekursiv finden Java Basics - Anfänger-Themen 4
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
jhCDtGVjcZGcfzug Fibonacci Zahlen rekursiv und iterativ Java Basics - Anfänger-Themen 21
H Binominalkoeffizient tail-rekursiv in java darstellen Java Basics - Anfänger-Themen 0
GAZ Tribonacci Folge Rekursiv Java Basics - Anfänger-Themen 11
G Primzahlen von Rekursiv nach Iterativ Java Basics - Anfänger-Themen 6
A Ackermmanfunktion rekursiv Java Basics - Anfänger-Themen 4
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
G Methode Rekursiv umschreiben Java Basics - Anfänger-Themen 8
L Jede zweite Ziffer entfernen (rekursiv) Java Basics - Anfänger-Themen 6
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
D Pentagonale Nummern in Rekursiv Java Basics - Anfänger-Themen 14
O Enum Array Rekursiv abarbeiten Java Basics - Anfänger-Themen 44
E Weg-Suche-Problem rekursiv Java Basics - Anfänger-Themen 12
O Primzahl rekursiv mit einem Wert ohne i, wie? Java Basics - Anfänger-Themen 6
E Erste Schritte Potenz Negativ (rekursiv) Java Basics - Anfänger-Themen 2
O Rekursiv aufrufen Java Basics - Anfänger-Themen 2
F In List Rekursiv suchen Java Basics - Anfänger-Themen 12
F Iterativ in Rekursiv Java Basics - Anfänger-Themen 2
S Fibonacci Zahlen rekursiv Java Basics - Anfänger-Themen 1
L Rekursiv zwei Strings vergleichen Java Basics - Anfänger-Themen 3
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
B Wie kann ich Linien rekursiv zeichnen? Java Basics - Anfänger-Themen 4
kilopack15 Sin(x) rekursiv lösen Java Basics - Anfänger-Themen 17
T Rekursiv Tiefe eines binären Suchbaums ermitteln Java Basics - Anfänger-Themen 22
P Methoden Arrays.AsList kleinste Zahl ausgeben Rekursiv Java Basics - Anfänger-Themen 9
W A hoch N Rekursiv Java Basics - Anfänger-Themen 3
K Rechtecke rekursiv zeichnen Java Basics - Anfänger-Themen 20
V Quadrate rekursiv zeichnen Java Basics - Anfänger-Themen 7
M Fibonacci rekursiv mittels Cache Java Basics - Anfänger-Themen 17
E Binärbaum - von rekursiv zu iterativ Java Basics - Anfänger-Themen 10
Y Rekursiv Palindrom herausfinden Java Basics - Anfänger-Themen 5
B Fibonacci Zahlen rekursiv Array Java Basics - Anfänger-Themen 12
M String rekursiv Spiegeln mit Originalwort davor Java Basics - Anfänger-Themen 3
K Türme von Hanoi - Rekursiv. Java Basics - Anfänger-Themen 1
T MergeSort rekursiv programmieren Java Basics - Anfänger-Themen 8
M Zahlenpyramide rekursiv programmieren Java Basics - Anfänger-Themen 7
hello_autumn Potenz selber berechnen, Rekursiv. Java Basics - Anfänger-Themen 6
V Text wüerfeln-Rekursiv Java Basics - Anfänger-Themen 4
J Baum rekursiv durchlaufen Java Basics - Anfänger-Themen 2
D Münzverteilung Möglichkeiten | Rekursiv Java Basics - Anfänger-Themen 3
R Hanoi rekursiv lösen Problem Java Basics - Anfänger-Themen 1
D Rekursiv Kombinationen ausgeben klappt nur bei einer Wiederholung Java Basics - Anfänger-Themen 4
shiroX OOP String rekursiv zurückgeben Java Basics - Anfänger-Themen 6
Z Fibonacci rekursiv meine Erklärung stimmt so? Java Basics - Anfänger-Themen 2
S java rekursiv iterativ hilfee :s Java Basics - Anfänger-Themen 5
E Erste Schritte Pi, rekursiv Java Basics - Anfänger-Themen 6
A Frage Methode ggt Rekursiv Java Basics - Anfänger-Themen 5
E Hanoi-Varianten rekursiv Java Basics - Anfänger-Themen 2
P Hanoi rekursiv zu iterativ umbauen Java Basics - Anfänger-Themen 20
P Mittelwert rekursiv Java Basics - Anfänger-Themen 13
E Integral Rekursiv Java Basics - Anfänger-Themen 15
M MergeSort rekursiv Java Basics - Anfänger-Themen 2
D Ziffer in Zahl Rekursiv Java Basics - Anfänger-Themen 4
B Array rekursiv untersuchen Java Basics - Anfänger-Themen 21
I Rekursiv Java Basics - Anfänger-Themen 13
C Rekursiv Zahlenfolgen berechnen mit zwei Variablen Java Basics - Anfänger-Themen 5
K Rekursiv zu Literal Java Basics - Anfänger-Themen 12
R Verzeichnisse rekursiv nach Dateiduplikaten durchsuchen Java Basics - Anfänger-Themen 5
W Binomialkoeffizient iterativ/rekursiv Java Basics - Anfänger-Themen 2
X Addition rekursiv ohne Schleife Java Basics - Anfänger-Themen 10
M Sudoku Rekursiv lösen Java Basics - Anfänger-Themen 9
E Datentypen ein java problem rekursiv loesen Java Basics - Anfänger-Themen 2
K indexOf selbst rekursiv definieren Java Basics - Anfänger-Themen 4
M Fibonacci-Linear und Rekursiv Java Basics - Anfänger-Themen 14
J Java Rekursiv vs(zu) Iterativ Hilfe Java Basics - Anfänger-Themen 3
D preOrder, inOrder, postOrder rekursiv zusammensetzen aus String Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben