58 lines
1.7 KiB
Java
58 lines
1.7 KiB
Java
import java.util.HashMap;
|
|
import java.util.Map;
|
|
public class Aufgaben
|
|
{
|
|
public static void buchstabenZählen(String text)
|
|
{
|
|
var häufigkeiten = Zählen.countEachLetter(text);
|
|
|
|
Zählen.printZahl(häufigkeiten);
|
|
}
|
|
|
|
public static void binärbaum(String text)
|
|
{
|
|
Map<Character, Integer> zahlen = Zählen.countEachLetter(text);
|
|
Node wurzel = Node.erstellen(zahlen);
|
|
|
|
HashMap<Character, String> codes = new HashMap<Character, String>();
|
|
|
|
if(wurzel.getLeft() == null && wurzel.getRight() == null)
|
|
{
|
|
codes.put(wurzel.getBuchstabe(), "0");
|
|
}
|
|
else
|
|
{
|
|
Komprimierung.generieren(codes,wurzel,"");
|
|
}
|
|
|
|
for (var entry : codes.entrySet())
|
|
{
|
|
System.out.println("Buchstabe: " + entry.getKey() + ", Code: " + entry.getValue());
|
|
}
|
|
}
|
|
|
|
public static void huffmanCodierun (String text)
|
|
{
|
|
Map<Character, Integer> zahlen = Zählen.countEachLetter(text);
|
|
Node wurzel = Node.erstellen(zahlen);
|
|
|
|
System.out.println("Huffman-Codierung: " + Komprimierung.codierung(text,wurzel));
|
|
}
|
|
|
|
public static void decodierung (String text)
|
|
{
|
|
System.out.println("Kodierter Text: " + Komprimierung.codierungInklBaum(text)); //soviele Zeichen aufgrund von UTF-16
|
|
System.out.println("Decodierter Text: " + Komprimierung.decodierungInlkBaum(Komprimierung.codierungInklBaum(text)));
|
|
}
|
|
|
|
public static void dateinKomprimierung (String source, String target)
|
|
{
|
|
Komprimierung.compressFile(source,target);
|
|
}
|
|
|
|
public static void dateinLesen (String file)
|
|
{
|
|
Komprimierung.readFile(file);
|
|
}
|
|
}
|