KS1_2_Projekt/Main.java

66 lines
1.6 KiB
Java

import java.util.HashMap;
import java.util.*;
public class Main
{
public static void codes(String text)
{
Node wurzel = Node.erstellen(Zählen.countEachLetter(text));
HashMap<Character, String> codes = new HashMap<Character, String>();
generieren(codes,wurzel,"");
for (var entry : codes.entrySet())
{
System.out.println("->" + entry.getKey() + ", Code: " + entry.getValue());
}
}
public static void generieren(HashMap<Character, String> codes, Node node, String code)
{
if(node == null)return;
if(node.getLeft() == null && node.getRight() == null)
{
codes.put(node.getBuchstabe(), code);
return;
}
generieren(codes, node.getLeft(), code + "0");
generieren(codes, node.getRight(), code + "1");
}
public static void codierung(String text)
{
Node wurzel = Node.erstellen(Zählen.countEachLetter(text));
HashMap<Character, String> codes = new HashMap<Character, String>();
if(wurzel.getLeft() == null && wurzel.getRight() == null)
{
codes.put(wurzel.getBuchstabe(), "0");
}
else
{
generieren(codes,wurzel,"");
}
String code = "";
for (int i=0; i<text.length();i++)
{
char b = text.charAt(i);
String c = codes.get(b);
code += c;
}
System.out.println("Huffman-Codierung: " + code);
}
//public String decodierung(
}