ubgrade 13.2
							parent
							
								
									9774c8a91c
								
							
						
					
					
						commit
						bdb5d7334c
					
				|  | @ -17,21 +17,49 @@ public class Binärbaum | |||
|  //Konstruktoren für ein Blatt
 | ||||
|   | ||||
|  //Konstruktor für inneren Knoten
 | ||||
| 
 | ||||
|  Node Final; | ||||
|  public void einfügen(int [] Anzahl){ | ||||
|      //alle Nodes werden abgespeichert
 | ||||
|    ArrayList<Node> l = new ArrayList<Node>(); | ||||
|       | ||||
|    ArrayList<Node> m = new ArrayList<Node>(); | ||||
|     | ||||
|   for(int i =0 ; i<Anzahl.length; i++){ | ||||
|     if(Anzahl[i] >= 1){ | ||||
|         //Node wird angelegt
 | ||||
|     Node n = new Node((char)(i + 65), Anzahl[i]) ; | ||||
|      | ||||
|     l.add(n); | ||||
|     m.add(n); | ||||
|     } | ||||
|     }  | ||||
|     //Sortieren von den Werten mit Selection Sort
 | ||||
|     //Sortieren von den Werten 
 | ||||
|     | ||||
|    while(m.size() > 1){ | ||||
|     //Minimum finden
 | ||||
|     int Minimum = Minimum(m); | ||||
|     //ermittelt das Minimum für die Festlegung des rechten Knotens
 | ||||
|     Node n1 = m.get(Minimum); | ||||
|     //entfernt das aktuelle Minimum
 | ||||
|     m.remove(Minimum); | ||||
|      | ||||
|     int Minimum2 = Minimum(m); | ||||
|     Node n2 = m.get(Minimum2); | ||||
|     m.remove(Minimum2); | ||||
|     Node neu = new Node(' ', n1.Anzahl + n2.Anzahl); | ||||
|     neu.links = n1; | ||||
|     neu.rechts= n2; | ||||
|     m.add(neu);     | ||||
|         } | ||||
|     Final = m.get(0); | ||||
|     } | ||||
| public void ausgeben(Node n, String i){ | ||||
| if(n.links != null){ | ||||
| ausgeben(n.links, i + "0"); | ||||
| ausgeben(n.rechts, i + "1"); | ||||
| }else{ | ||||
|     System.out.println(n.wert + " : " + i+ " Anzahl:" + n.Anzahl); | ||||
| } | ||||
| } | ||||
| 
 | ||||
| public int Minimum(ArrayList<Node> l){ | ||||
| int minindex = 0; | ||||
| for(int i = 0; i<l.size(); i++){ | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ public class Test | |||
| { | ||||
|      | ||||
|     public static void main(){ | ||||
|     List text = new List(); | ||||
|     Binärbaum Ausdrucken = new Binärbaum (); | ||||
|     //legt String mit Inhalt Abrakadabra an
 | ||||
|     String Text = "ABRAKADABRA"; | ||||
|     //ruft tählen Methode aus List auf
 | ||||
|  | @ -18,7 +18,7 @@ public class Test | |||
|     Binärbaum b = new Binärbaum(); | ||||
|     //fügt die vorhandenen Buchstaben in den binärbaum ein
 | ||||
|     b.einfügen(Anzahl); | ||||
|     System.out.println(b); | ||||
|     b.ausgeben(b.Final, ""); | ||||
|      | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue