This project is part of the BWINF 2024/2025, Round 2. The task A1_Schmucknachrichten focuses on message compression.
A1_Schmucknachrichten/
│
├── src/ # Source code of the project
├── data/ # Datasets and input files
└── README.md # This document
Ensure you have Java installed on your system. Run the main program with:
java -jar <program-file-path> <input-file-path> <method>Possible methods are Huffman and SIG, respectively, for the Huffman Algorithm and the Günther-Rothe-Algorithm.
The input is a .txt file that holds the message with the pearl types. The structure is as follows:
- First Line:
- Specifies the number of different pearl types.
- Pearl Types:
- The circumference of the different pearl types in mm.
- The Message:
- The message to be encoded. All Unicode symbols are supported.
- Length Request:
- An optional line specifying a desired length in mm for the encoded message. If no length is specified, the algorithm will attempt to minimize the message length.
The program outputs to the console and to a file under output\\output_<method>_<input-file>.txt.
⚠️ Warning:
The display of the Unicode symbols isn't perfect in the console. The output to the file is much better (perfect🤞). If there is a problem with the rendering in the plain text output, please refer to the output in Unicode codes at the end of the file.
It is also possible to get a visualization of the code tree from the code_visualization.
- Maze visualization (helper script): code_visualization
- Task description: BWINF 2024 Round 2 Task PDF
- Jonathan Salomo @apfelholz