From ac1fa09229767697f4b1f0b10f3feb94adba46bb Mon Sep 17 00:00:00 2001 From: L <@> Date: Sat, 3 May 2025 10:33:48 +0200 Subject: [PATCH] kommentare --- Main.java | 12 ++++++------ Node.java | 12 +++++++----- Text.txt | 2 +- Zählen.java | 4 ++-- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Main.java b/Main.java index ced879d..ce2e792 100644 --- a/Main.java +++ b/Main.java @@ -8,7 +8,6 @@ import java.nio.file.Path; public class Main { public static byte[] nullCharBytes = {(byte)0xFF,(byte)0xFF}; - //public static String nullCharBytesString = "1111111111111111"; public static void test(String text) { Map zahlen = Zählen.countEachLetter(text); @@ -48,7 +47,7 @@ public class Main Map zahlen = Zählen.countEachLetter("aaaabbc"); Node wurzel = Node.erstellen(zahlen); printBaum(wurzel); - //byteString_to_baum(baum_to_byteString(wurzel)); + HashMap codes = new HashMap(); if(wurzel.getLeft() == null && wurzel.getRight() == null) @@ -71,11 +70,9 @@ public class Main public static void test3() { System.out.println(decodierungInlkBaum(codierungInklBaum("aaaabbc"))); - - } - public static void printBaum(Node baum) + public static void printBaum(Node baum) //gibt den Baum rekurssiv in pre-order aus { if(baum == null)return; System.out.println("Buchstabe: " + baum.getBuchstabe() + ", Anzahl: " + baum.getAnzahl()); @@ -83,7 +80,7 @@ public class Main printBaum(baum.getRight()); } - public static void codes(String text) + public static void codes(String text) //erstellt die codes für jeden einzelnen Buchstaben { Node wurzel = Node.erstellen(Zählen.countEachLetter(text)); HashMap codes = new HashMap(); @@ -103,6 +100,8 @@ public class Main } } + + //methode zum generieren der codes für jeden einzelnen Buchstaben public static void generieren(HashMap codes, Node node, String code) { if(node == null)return; @@ -117,6 +116,7 @@ public class Main generieren(codes, node.getRight(), code + "1"); } + //generiert die Huffman-Codierung public static String codierung(String text, Node wurzel) { HashMap codes = new HashMap(); diff --git a/Node.java b/Node.java index bb73bd9..76df299 100644 --- a/Node.java +++ b/Node.java @@ -14,12 +14,14 @@ public class Node { } - public Node(Node left, Node right) + public Node(Node left, Node right) //constructor für node { this.left = left; this.right = right; } + + //set und get methoden für verschiedenes public Node getLeft(){return left;} public void setLeft(Node left){this.left = left;} @@ -63,22 +65,22 @@ public class Node return nodes.poll(); } - public void add(Node node) + public void add(Node node) //fügt ein Kind an die freie Stelle von dem baum hin wenn möglich { - if(left == null) + if(left == null) //als erstes überprüft es die linke Seite { left= node; return; } - if(right == null) + if(right == null) //danach überprüft es die linke Seite { right= node; return; } } - public boolean hatPlatzKinder() + public boolean hatPlatzKinder() //überprüft ob der baum schon "voll" ist { return left==null || right==null; } diff --git a/Text.txt b/Text.txt index eafdfec..404ae27 100644 --- a/Text.txt +++ b/Text.txt @@ -1 +1 @@ -aaaabbc +aaaabbc diff --git a/Zählen.java b/Zählen.java index d7b30ce..d9169a2 100644 --- a/Zählen.java +++ b/Zählen.java @@ -3,7 +3,7 @@ import java.util.Map; public class Zählen { - public static Map countEachLetter(String input) + public static Map countEachLetter(String input) //erstellt eine Map die jeden character zählt { // Konvertiere den String in ein char-Array char[] characters = input.toCharArray(); @@ -21,7 +21,7 @@ public class Zählen return letterCountMap ; } - public static void printZahl (Map letterCountMap) + public static void printZahl (Map letterCountMap) //printed allle characters mit deren anzahl { for (Map.Entry entry : letterCountMap.entrySet()) {