diff options
Diffstat (limited to 'Huffman.cs')
-rw-r--r-- | Huffman.cs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Huffman.cs b/Huffman.cs new file mode 100644 index 0000000..0fb4462 --- /dev/null +++ b/Huffman.cs @@ -0,0 +1,43 @@ +/* filename: Huffman.cs + * Class: CS 456-001 + * Professor: Dr. John Matta + * Due Date: Sept. 20th, 2021 + * Name: + * Partner: + */ + //TODO: ADD NAMES + +public class Huffman { + private List<Node> C; + private PriorityQueue pq; + private Node huffmanTree; + public Huffman(List<Node> C) { + //initialize + this.C = new List<Node>(C); + pq = new PriorityQueue(); + Node huffmanTree = null; + } + private void setHuffmanTree() { + + for(int i = 1; i < C.Count; i++) { + + Node x, y; + Node z = new Node(); + + z.left = x = extractMin(pq); + z.right = y = extractMin(pq); + z.freq = x.freq + y.freq; + + insert(pq, z); + } + + huffmanTree = extractMin(pq); + } + + public Node getHuffmanTree() { + if(huffmanTree == null) { + setHuffmanTree(); + } + return huffmanTree; + } +} |