Guten Abend,
ich habe jetzt per pre-, post- und inOrder (je nach Wahl) einen Binärbaum in einen String zerlegt.
Dabei wird, wenn ein Blatt erreicht worden ist ein Semikolon ( ; ) eingefügt, ansonsten ein Komma ( , )
Hier einmal preOrder als Beispiel, die anderen kommen unten, falls ihr meint dass die sich besser eignen:
	
	
	
	
	
		
	
aus bspw:
___1___
_2__3__
wird dann 1,2;3;
oder aus:
______1______
___2_______5_
_3__4____6___
_______7__8_
wird 1,2,3;4;5,6,7;8;
weil natürlich erst der linke Baum abgearbeitet wird.
Soviel zu meiner Theorie,
wie kann ich diesen String in der Praxis (Rekursiv oder Iterativ (richtiger Begriff?) ) wieder in einen Baum verwandeln?
Der Baum hat folgende Funktionen:
BinTree()
BinTree(Object pObject)
BinTree(Object pObject, BinTree pLeftTree, BinTree pRighttree)
isEmpty()
clear()
setRootItem()
getRootItem()
setLeftTree()
setRightTree()
getLeftTree()
getRightTree()
hier der Rest:
inOrder:
	
	
	
	
	
		
	
postOrder:
	
	
	
	
	
		
	
Danke fürs lesen schonmal =)
			
			ich habe jetzt per pre-, post- und inOrder (je nach Wahl) einen Binärbaum in einen String zerlegt.
Dabei wird, wenn ein Blatt erreicht worden ist ein Semikolon ( ; ) eingefügt, ansonsten ein Komma ( , )
Hier einmal preOrder als Beispiel, die anderen kommen unten, falls ihr meint dass die sich besser eignen:
		Java:
	
	public void preOrder(BinTree tree) {
    	if( tree.getLeftTree().isEmpty() ) {
			linear += (String)tree.getRootItem() + ";";
			
		}else if( !tree.getLeftTree().isEmpty() ) {
			linear += (String)tree.getRootItem() + ",";
			
		}
    	
    	if( !tree.getLeftTree().isEmpty() ) {
    		this.preOrder(tree.getLeftTree());
    	}
    		
    	if( !tree.getRightTree().isEmpty() ) {
    		this.preOrder(tree.getRightTree());
    	}  	
    }aus bspw:
___1___
_2__3__
wird dann 1,2;3;
oder aus:
______1______
___2_______5_
_3__4____6___
_______7__8_
wird 1,2,3;4;5,6,7;8;
weil natürlich erst der linke Baum abgearbeitet wird.
Soviel zu meiner Theorie,
wie kann ich diesen String in der Praxis (Rekursiv oder Iterativ (richtiger Begriff?) ) wieder in einen Baum verwandeln?
Der Baum hat folgende Funktionen:
BinTree()
BinTree(Object pObject)
BinTree(Object pObject, BinTree pLeftTree, BinTree pRighttree)
isEmpty()
clear()
setRootItem()
getRootItem()
setLeftTree()
setRightTree()
getLeftTree()
getRightTree()
hier der Rest:
inOrder:
		Java:
	
	public void inOrder(BinTree tree) {
    	if( !tree.getLeftTree().isEmpty() ) {
    		this.inOrder(tree.getLeftTree());
    	}
    	
    		if( tree.getLeftTree().isEmpty() ) {
    			linear += (String)tree.getRootItem() + ";";
    			
    		}else if( !tree.getLeftTree().isEmpty() ) {
    			linear += (String)tree.getRootItem() + ",";
    			
    		}
    		
    	if( !tree.getRightTree().isEmpty() ) {
    		this.inOrder(tree.getRightTree());
    	}
    			
    }postOrder:
		Java:
	
	public void postOrder(BinTree tree) {
    	if( !tree.getLeftTree().isEmpty() ) {
    		this.postOrder(tree.getLeftTree());
    	}
    		
    	if( !tree.getRightTree().isEmpty() ) {
    		this.postOrder(tree.getRightTree());
    	}
    	
    	if( tree.getLeftTree().isEmpty() ) {
			linear += (String)tree.getRootItem() + ";";
			
		}else if( !tree.getLeftTree().isEmpty() ) {
			linear += (String)tree.getRootItem() + ",";
			
		}
    			
    }Danke fürs lesen schonmal =)
 
				 
 
		 
 
		