diff --git a/BinaererSuchbaum/BinaererSuchbaum.java b/Datenstrukturen/BinaererSuchbaum/BinaererSuchbaum.java similarity index 100% rename from BinaererSuchbaum/BinaererSuchbaum.java rename to Datenstrukturen/BinaererSuchbaum/BinaererSuchbaum.java diff --git a/BinaererSuchbaum/BinaererSuchbaumDemoSchueler.java b/Datenstrukturen/BinaererSuchbaum/BinaererSuchbaumDemoSchueler.java similarity index 100% rename from BinaererSuchbaum/BinaererSuchbaumDemoSchueler.java rename to Datenstrukturen/BinaererSuchbaum/BinaererSuchbaumDemoSchueler.java diff --git a/Datenstrukturen/Traversierung/Traversierung.java b/Datenstrukturen/Traversierung/Traversierung.java new file mode 100644 index 0000000..f90fb72 --- /dev/null +++ b/Datenstrukturen/Traversierung/Traversierung.java @@ -0,0 +1,109 @@ +import java.util.LinkedList; +import java.util.Queue; + +public class Traversierung { + public static void preOrder(Node knoten) { + // 1. Wert des Knotens ausgeben + System.out.print(knoten.wert + " "); + + // 2. Rekursiv für linken Teilbaum ausführen + if (knoten.links != null) + preOrder(knoten.links); + + // 3. Rekursiv für rechten Teilbaum ausführen + if (knoten.rechts != null) + preOrder(knoten.rechts); + } + + public static void inOrder(Node knoten) { + // 1. Rekursiv für linken Teilbaum ausführen + if (knoten.links != null) + inOrder(knoten.links); + + // 2. Wert des Knotens ausgeben + System.out.print(knoten.wert + " "); + + // 3. Rekursiv für rechten Teilbaum ausführen + if (knoten.rechts != null) + inOrder(knoten.rechts); + } + + public static void postOrder(Node knoten) { + // 1. Rekursiv für linken Teilbaum ausführen + if (knoten.links != null) + postOrder(knoten.links); + + // 2. Rekursiv für rechten Teilbaum ausführen + if (knoten.rechts != null) + postOrder(knoten.rechts); + + // 3. Wert des Knotens ausgeben + System.out.print(knoten.wert + " "); + } + + public static void levelOrder(Node knoten) { + // 1. Schlange anlegen + Queue queue = new LinkedList<>(); + + // 2. Wurzel zur Schlange hinzufügen + queue.add(knoten); + + // 3. Solange die Schlange nicht leer ist... + while (!queue.isEmpty()) { + // 4. Linken und rechten Kindknoten zur Schlange hinzufügen + knoten = queue.peek(); + if (knoten.links != null) queue.add(knoten.links); + if (knoten.rechts != null) queue.add(knoten.rechts); + + // 5. Wert des Hauptknotens ausgeben + System.out.print(knoten.wert + " "); + + // 6. Hauptknoten aus der Schlange entfernen + queue.poll(); + + // weiter bei 3.... + } + } + + public static void main(String[] args) { + // Beispielbaum aus der PDF-Datei + Node wurzel = new Node(3); + wurzel.links = new Node(1); + wurzel.links.links = new Node(13); + wurzel.rechts = new Node(10); + wurzel.rechts.links = new Node(11); + wurzel.rechts.rechts = new Node(16); + wurzel.rechts.rechts.links = new Node(15); + wurzel.rechts.rechts.rechts = new Node(2); + + System.out.print("Pre-order: "); + preOrder(wurzel); + System.out.println(); + // 3 1 13 10 11 16 15 2 + + System.out.print("In-order: "); + inOrder(wurzel); + System.out.println(); + // 13 1 3 11 10 15 16 2 + + System.out.print("Post-order: "); + postOrder(wurzel); + System.out.println(); + // 13 1 11 15 2 16 10 3 + + System.out.print("Level-order: "); + levelOrder(wurzel); + System.out.println(); + // 3 1 10 13 11 16 15 2 + } +} + +class Node { + int wert; + Node links; + Node rechts; + + Node(int wert) { + this.wert = wert; + } +} diff --git a/Aktienhandel/Aktie.java b/Klassen/Aktienhandel/Aktie.java similarity index 100% rename from Aktienhandel/Aktie.java rename to Klassen/Aktienhandel/Aktie.java diff --git a/Aktienhandel/Broker.java b/Klassen/Aktienhandel/Broker.java similarity index 100% rename from Aktienhandel/Broker.java rename to Klassen/Aktienhandel/Broker.java diff --git a/Aktienhandel/DayTrader.java b/Klassen/Aktienhandel/DayTrader.java similarity index 100% rename from Aktienhandel/DayTrader.java rename to Klassen/Aktienhandel/DayTrader.java diff --git a/Aktienhandel/LangfristInvestor.java b/Klassen/Aktienhandel/LangfristInvestor.java similarity index 100% rename from Aktienhandel/LangfristInvestor.java rename to Klassen/Aktienhandel/LangfristInvestor.java diff --git a/Aktienhandel/Main.java b/Klassen/Aktienhandel/Main.java similarity index 100% rename from Aktienhandel/Main.java rename to Klassen/Aktienhandel/Main.java diff --git a/Aktienhandel/OnlineBroker.java b/Klassen/Aktienhandel/OnlineBroker.java similarity index 100% rename from Aktienhandel/OnlineBroker.java rename to Klassen/Aktienhandel/OnlineBroker.java diff --git a/Aktienhandel/Person.java b/Klassen/Aktienhandel/Person.java similarity index 100% rename from Aktienhandel/Person.java rename to Klassen/Aktienhandel/Person.java diff --git a/Aktienhandel/Trader.java b/Klassen/Aktienhandel/Trader.java similarity index 100% rename from Aktienhandel/Trader.java rename to Klassen/Aktienhandel/Trader.java diff --git a/Bibliothek/Bibliothek.java b/Klassen/Bibliothek/Bibliothek.java similarity index 100% rename from Bibliothek/Bibliothek.java rename to Klassen/Bibliothek/Bibliothek.java diff --git a/Bibliothek/BibliotheksApp.java b/Klassen/Bibliothek/BibliotheksApp.java similarity index 100% rename from Bibliothek/BibliotheksApp.java rename to Klassen/Bibliothek/BibliotheksApp.java diff --git a/Bibliothek/Buch.java b/Klassen/Bibliothek/Buch.java similarity index 100% rename from Bibliothek/Buch.java rename to Klassen/Bibliothek/Buch.java diff --git a/Technikladen/Client.java b/Klassen/Technikladen/Client.java similarity index 100% rename from Technikladen/Client.java rename to Klassen/Technikladen/Client.java diff --git a/Technikladen/Order.java b/Klassen/Technikladen/Order.java similarity index 100% rename from Technikladen/Order.java rename to Klassen/Technikladen/Order.java diff --git a/Technikladen/OrderEntry.java b/Klassen/Technikladen/OrderEntry.java similarity index 100% rename from Technikladen/OrderEntry.java rename to Klassen/Technikladen/OrderEntry.java diff --git a/Technikladen/OrderSystem.java b/Klassen/Technikladen/OrderSystem.java similarity index 100% rename from Technikladen/OrderSystem.java rename to Klassen/Technikladen/OrderSystem.java diff --git a/Technikladen/Product.java b/Klassen/Technikladen/Product.java similarity index 100% rename from Technikladen/Product.java rename to Klassen/Technikladen/Product.java diff --git a/Technikladen/Receipt.java b/Klassen/Technikladen/Receipt.java similarity index 100% rename from Technikladen/Receipt.java rename to Klassen/Technikladen/Receipt.java diff --git a/Technikladen/StorageManager.java b/Klassen/Technikladen/StorageManager.java similarity index 100% rename from Technikladen/StorageManager.java rename to Klassen/Technikladen/StorageManager.java diff --git a/Technikladen/TechStore.java b/Klassen/Technikladen/TechStore.java similarity index 99% rename from Technikladen/TechStore.java rename to Klassen/Technikladen/TechStore.java index 3540304..e172c2a 100755 --- a/Technikladen/TechStore.java +++ b/Klassen/Technikladen/TechStore.java @@ -104,6 +104,8 @@ public class TechStore { } } } + + scnr.close(); } }