Binärbaum



  • Hallo
    EDIT:
    Könnt ihr den Beitrag ins Java forum verschieben
    hab mich verklickt beim erstellen

    wir müssen in der Schule einen binärbaum schreiben
    einen erstellen hab ich schon geschafft

    hier der code
    Demo Klasse:

    public class Demo {
    
    	/**
    	 * @param args
    	 */
    
    	public Demo() {
    
    		int array[] = {7,3,8,5,9,1,11,12,2,7};
    
    		BiBaum b = new BiBaum();
    
    		for (int i = 0; i< array.length; i++) {
    			b.einfuegen(array[i]);
    		}	
    	}
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		new Demo();
    	}
    
    }
    

    Die Binärbaum Klasse

    public class BiBaum {
    
    	public Knoten Wurzel = new Knoten();
    
    	public void einfuegen(int wert) {
    		if (Wurzel.value == 0) {
    			Wurzel.value = wert;
    			return;
    		}
    
    		Knoten k = sucheKnoten(wert, Wurzel);
    
    		if (k == null) //Bei Fehler
    			return;
    
    		k.value = wert;
    	}
    
    	public Knoten sucheKnoten (int wert, Knoten vater) {
    
    		if (wert == vater.value)
    			return vater; //Bei schon eingefŸgter Zahl
    
    		if(wert > vater.value) {
    			if (vater.rson == null) {
    			vater.rson = new Knoten();
    			return vater.rson;
    			}
    			else {
    				return sucheKnoten(wert, vater.rson);
    			}
    		}
    		else if(wert < vater.value){
    			if (vater.lson == null) {
    				vater.lson = new Knoten();
    				return vater.lson;
    			}
    			else {
    				return sucheKnoten(wert, vater.lson);
    			}
    		}
    		return null; // Fehler
    	}
    }
    

    Die Knoten Klasse

    public class Knoten {
    
    	public Knoten lson;
    	public Knoten rson;
    	public int value; 
    
    	public Knoten() {
    		this.value = 0;
    	}
    }
    

    Wir müssen es ohne gegebene Klassen machen
    Ich weiss nicht wie ich einen knoten löschen soll und den symetrischen nachfolger einfügen
    könnt ihr mir paar tipps geben ich komm einfach nicht drauf
    bin schon voll depri 😡



  • Dein Code ist Java und kein C++. 😡



  • Args, was für eine Sprache ist denn das? Sieht für mich eher nach C# aus.

    Ansonsten: Du mußt die Kinder des gelöschten Knotens so umhängen, daß wieder ein Binärbaum entsteht. Schau dir dazu z.B. diesen Artikel an.



  • Das es java ist ist mir klar
    habs ausversehen in diesen bereich geschrieben
    hab ja dazu geschrieben das es verschoben werden soll



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Java verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Log in to reply