diff --git a/huffman_coding/.project b/huffman_coding/.project
new file mode 100644
index 0000000..f022a5b
--- /dev/null
+++ b/huffman_coding/.project
@@ -0,0 +1,28 @@
+
+
+ huffman_coding
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ 1734357118166
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/huffman_coding/.settings/org.eclipse.core.resources.prefs b/huffman_coding/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/huffman_coding/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/huffman_coding/.settings/org.eclipse.jdt.core.prefs b/huffman_coding/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..9a7984b
--- /dev/null
+++ b/huffman_coding/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=21
diff --git a/huffman_coding/src/huffman_coding/Main.java b/huffman_coding/src/huffman_coding/Main.java
new file mode 100644
index 0000000..6b1f2c6
--- /dev/null
+++ b/huffman_coding/src/huffman_coding/Main.java
@@ -0,0 +1,46 @@
+package huffman_coding;
+
+import java.util.ArrayList;
+import tester.Tester;
+
+class Examples {
+
+ void testTest(Tester t) {
+ t.checkExpect(1, 1);
+ }
+}
+
+class Huffman {
+
+ ArrayList charset; // Character set.
+ ArrayList freqs; // Relative frequencies of characters.
+
+ Huffman(ArrayList charset, ArrayList freqs) {
+ if (charset.size() != freqs.size()) throw new IllegalArgumentException(
+ "Character set must match frequencies."
+ );
+
+ if (charset.size() < 2) throw new IllegalArgumentException(
+ "Character set too small."
+ );
+
+ this.charset = charset;
+ this.freqs = freqs;
+ }
+}
+
+// Binary tree.
+interface ITree {}
+
+class Node implements ITree {
+
+ ITree l;
+ ITree r;
+
+ Node(ITree l, ITree r) {
+ this.l = l;
+ this.r = r;
+ }
+}
+
+class Leaf implements ITree {}