You can help the community by contributing reviews and ratings to the catalog.
Here is a detailed description for the catalog entry structure.
Data Structure Visualization - Huffman Coding
Recommendation |
Recommended |
||||
Link |
|||||
Delivery Method |
Java Application |
||||
License |
Unlicensed Sourcecode |
||||
Language |
English |
||||
Author |
David Galles |
||||
Institution |
University of San Francisco |
||||
Project |
|||||
Works |
Yes |
||||
Description |
Visualizes the encoding and decoding process in Huffman coding. Accepts user input for the message to encode. This message is parsed to construct a tree with the distinct characters in the message at the leaf level along with the frequency. The encoded message is then constructed from the graph. This is followed by a graphical illustration of the decoding process where the encoded message is converted back into the message using the codes assigned earlier during the encoding process. Supports both continuous animation mode and step wise mode. Lets the users to move the layout of the tree nodes though that doesn’t have any functional value. |
||||
Evaluation |
Overall Good. The graphical process of encoding and decoding is intuitive and useful. The construction of the tree is however is not really clear. Huffman coding and especially, the tree construction during the encoding process is non-trivial. Hence, running explanations or pseudo-code tracing would have been very useful. It requires the user to view the tree construction phase very carefully and sometimes a number of times to get a clear understanding. Each node has a frequency count inside it. It would have been really useful to have the frequency count inside the code table displayed at the top right corner (at the end of the encoding process). Decoding process in general is very simple in Huffman coding. The visualization keeps it simple as well which is appreciated. A measure of the performance of Huffman in terms of the compression factor should have been given. |
||||
Animation; Step Control; User Data |
|||||
Lecture Aid; Self Study; Debugging |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
2006-09-01 |
||||
Last Visited |
2008-07-02 |
||||
Last Updated |
2006-04-05 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
JHAVÉ - Huffman Coding/Decoding
Recommendation |
Has Potential |
||||
Link |
|||||
Delivery Method |
Java Web Start |
||||
License |
|||||
Language |
English |
||||
Author |
Tom Naps |
||||
Institution |
University of Wisconsin - Oshkosh |
||||
Project |
|||||
Works |
Yes |
||||
Description |
Two visualizations, one for building a Huffman coding tree and coding a message, and one for decoding a message. |
||||
Evaluation |
The AV is set up as a series of "slides" in one pane, and pseudocode in the adjacent pane. As the user steps through the "slides", the associated pseudocode is highlighted. Occasional questions pop up for the user to answer. |
||||
Step Control; Questions; Canned Data |
|||||
Lecture Aid; Self Study; Lab Exercise |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
Clicking on the link above will take you to a login page for Jhave. If you do not want to create an account at jhave.org, use anonymous@anonymous.com as your user name and anonymous as your password when you are asked to login. You will then be taken to the Jhave page for this AV. Some Jhave AVs include a tutorial on how the AV itself or the underlying algorithm works. At the bottom are links to the AV (you can run it with a built-in quiz system on or off). The first time you try to run any Jhave exercise, you will have to download the Jhave webstart application. This should happen automatically when you click the link. (You might need to install Java WebStart if it is not on your machine.) Once you download the Jhave application, the AV should start automatically. You can then step through the AV by repeatedly clicking the right arrow button. Occasionally, you will be given a multiple-choice or short-answer question to answer. |
|||||
First Visited |
2008-07-08 |
||||
Last Visited |
2008-07-10 |
||||
Last Updated |
2008-07-01 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
Animal - Huffman Coding
Recommendation |
Has Potential |
||||
Link |
http://www.animal.ahrgr.de/showAnimationDetails.php3?anim=32; http://www.animal.ahrgr.de/showAnimationDetails.php3?anim=31 |
||||
Delivery Method |
Animal Animation |
||||
License |
Non-Commercial |
||||
Language |
English; German |
||||
Author |
Marc-Daniel Haunschild; Guido Rössling |
||||
Institution |
TU Darmstadt, Darmstadt, Germany |
||||
Project |
|||||
Works |
Yes |
||||
Description |
The site has two AVs, one for encoding and one for decoding. The one for encoding shows most of the material. This AV is a slideshow walking through an example of huffman coding. |
||||
Evaluation |
Good, clear presentation. It would be better if during build, the separate trees were re-ordered when the combined value becomes greater than other items ahead of it on the list (in other words, the list should stay sorted). This not only reflects an important detail in real implementations, but it also would be less confusing not to have tree pointers crossing each other unnecessarily. |
||||
Animation; Step Control; Canned Data |
|||||
Lecture Aid; Self Study |
|||||
Screenshots |
|||||
Videos |
|
||||
References |
|
||||
For detailed instructions on how to install Animal and run Animal AVs, see: http://www.algoanim.info/Animal2/?q=node/290. Once you have installed the Animal .jar file and downloaded/unpacked the .zip file of Animal animations, you are now ready to run Animal. Run the .jar file to start Animal. Then go to the "Open" menu item, and browse to where you put the animal animations you got in the .zip file. Pick this AV from the list. You can then step through the animation, or use "kiosk mode" to have the steps fed to you at a constant pace. |
|||||
First Visited |
2007-07-21 |
||||
Last Visited |
2010-02-05 |
||||
Last Updated |
1999-05-11 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
BelugaHuffman
Recommendation |
Not Recommended |
||||
Link |
|||||
Delivery Method |
Java Applet |
||||
License |
Unavailable |
||||
Language |
English |
||||
Author |
Studer Etienne |
||||
Institution |
None |
||||
Project |
|||||
Works |
Yes |
||||
Description |
Visualizes Huffman trees constructed from given data. It is also possible to view the encoding table. |
||||
Evaluation |
Good: The tree visualization is visually pleasing and you can view the frequencies of the characters also in the tree. Weaknesses: Construction of the tree using the frequencies is not shown. The tree is updated as the string to be encoded is input giving a wrong impression of how the huffman tree is formed. |
||||
|
|||||
Lecture Aid |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
2007-27-09 |
||||
Last Visited |
2008-07-02 |
||||
Last Updated |
|
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
Swan - Huffman
Recommendation |
Has Potential |
||||
Link |
|||||
Delivery Method |
Windows Application |
||||
License |
GPL |
||||
Language |
English |
||||
Author |
Jun Yang; Cliff Shaffer |
||||
Institution |
Virginia Tech |
||||
Project |
|||||
Works |
Yes |
||||
Description |
Users specify a data set to enter (or create their own by editing a file), and the coding tree is built up step by step. Users can then specify strings to encode or codes to decode. |
||||
Evaluation |
A bit awkward to use. Awkward to create a data file (or get access to the existing data files). Awkward to enter codes and strings. The step-by-step process for building the tree should be fairly clear. |
||||
Step Control; Canned Data; User Data |
|||||
Lecture Aid; Self Study |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
2006-11-08 |
||||
Last Visited |
2008-07-03 |
||||
Last Updated |
1996 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
SFUhuffman
Recommendation |
Not Recommended |
||||
Link |
|||||
Delivery Method |
Java Applet |
||||
License |
Unlicensed Sourcecode |
||||
Language |
English |
||||
Author |
Walter Korman; Sominik Szopa |
||||
Institution |
Simon Fraser University |
||||
Project |
|||||
Works |
Yes |
||||
Description |
Visualization of Huffman compression. The user can provide a string from which frequencies are shown as a bar graph. The visualization leaps to an already built Huffman tree. The tree is used to build the encoding table. While the encoding process is not shown, we get to see statistics of its result. Decoding is shown using the Huffman tree. |
||||
Evaluation |
The visualization has an unfinished feeling about it. It took a while to figure out that the empty applet had to be clicked. The frequency bars have different widths that depend on the widths of the corresponding letters. Building the encoding table only shows the table after all paths in the tree have been traversed. The tree however is not visible anymore. Encoding phase is not shown but with statistics. Decoding is too fast to follow. |
||||
|
|||||
Exploring the Concept |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
2007-09-27 |
||||
Last Visited |
2010-02-16 |
||||
Last Updated |
1996-12-16 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
SFU Adaptive Huffman Coding
Recommendation |
Unrated |
||||
Link |
|||||
Delivery Method |
Java Applet |
||||
License |
Unlicensed Sourcecode |
||||
Language |
English |
||||
Author |
Dominik Szopa |
||||
Institution |
Simon Fraser University |
||||
Project |
|||||
Works |
|
||||
Description |
|
||||
Evaluation |
|
||||
|
|||||
|
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
|
||||
Last Visited |
|
||||
Last Updated |
|
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
Auckland - Huffman Coding
Recommendation |
Recommended |
||||
Link |
|||||
Delivery Method |
Java Applet |
||||
License |
Unavailable |
||||
Language |
English |
||||
Author |
Woi Ang; John Morris |
||||
Institution |
University of Auckland |
||||
Project |
|||||
Works |
Yes |
||||
Description |
High-quality visualization of the complete life cycle of a Huffman coding tree (creating a frequency table from a corpus, generating the tree, generating a lookup table, encoding a word, and subsequently decoding it). |
||||
Evaluation |
Strengths: multiple built-in datasets, continuous and stepwise operation; pseudo-code. Weaknesses: depending on the teacher's needs, may contain too much detail and extra information. The first data set on all the letters of the alphabet takes a long time to run. It would be nice to be able to skip to the next major step (from building the tree to generating the code table to decoding strings). If the animation could be set to run faster, that would be a huge improvement. |
||||
Step Control; Animation; Canned Data |
|||||
Lecture Aid; Self Study |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
2006-04-18 |
||||
Last Visited |
2008-07-17 |
||||
Last Updated |
1998 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
Binary Huffman Coder
Recommendation |
Not Recommended |
||||
Link |
|||||
Delivery Method |
Java Applet |
||||
License |
Unavailable |
||||
Language |
English |
||||
Author |
Roberto Togneri |
||||
Institution |
University of Western Australia |
||||
Project |
|||||
Works |
Yes |
||||
Description |
Somewhat difficult-to-understand visualization of constructing a Huffman tree from frequencies. There is a bug related to floating point display, which makes the screen difficult to read. |
||||
Evaluation |
Extremely difficult to follow what is going on. At each step, you see which next two values are merged together. But the display doesn't show a tree, so it is hard to understand from the display how a tree would actually look. After all of the joins are made, codes are assigned. Again, it is hard to see why a given item gets a given code. |
||||
Step Control; Canned Data |
|||||
Nothing |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
2006-04-18 |
||||
Last Visited |
2009-04-28 |
||||
Last Updated |
1997 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
AHuffman
Recommendation |
Unrated |
||||
Link |
|||||
Delivery Method |
Java Application |
||||
License |
|
||||
Language |
English |
||||
Author |
Sami Khuri; H. Hsu |
||||
Institution |
San Jose State University |
||||
Project |
|||||
Works |
Yes |
||||
Description |
Downloadable Java visualization of encoding using a Huffman tree. It's unclear how the Huffman tree itself is generated, and the program's stepwise operation does not show walking down through the tree to encode a letter. |
||||
Evaluation |
Strengths: no code or algorithm shown; allows arbitrary strings. Weaknesses: difficult to follow; unclear what exactly is being demonstrated; continuous operation simply runs to the end without showing each step at a speed humans can understand |
||||
|
|||||
Teaching the Concept |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
2006-04-18 |
||||
Last Visited |
2006-04-18 |
||||
Last Updated |
2000-04-01 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
Huffman Coding Shockwave
Recommendation |
Unrated |
||||
Link |
|||||
Delivery Method |
Shockwave |
||||
License |
|
||||
Language |
English |
||||
Author |
Peter Bittner |
||||
Institution |
Aston University |
||||
Project |
|||||
Works |
Yes |
||||
Description |
A non-interactive presentation of Huffman coding as a method for compression. Without speed control, this may go too fast for a student's first introduction to Huffman coding. It also makes no mention of generating a lookup table for actually using the tree. |
||||
Evaluation |
Strengths: clear presentation using hash tables/trees without the overhead of discussing them. Weaknesses: no ability to start/pause animation except at predefined intervals |
||||
|
|||||
Teaching the Concept |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
|
|||||
First Visited |
2006-04-18 |
||||
Last Visited |
2006-04-18 |
||||
Last Updated |
|
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
ALVIE - Huffman Coding
Recommendation |
Unrated |
||||
Link |
|||||
Delivery Method |
Java Application |
||||
License |
By Request |
||||
Language |
English |
||||
Author |
Pilu Crescenzi |
||||
Institution |
University of Florence |
||||
Project |
|||||
Works |
Yes |
||||
Description |
Walkthrough demonstrating Huffman Coding. |
||||
Evaluation |
Simple-to-use user interface for walking through the example. Simply open up the AV (see directions below) and step through the example with pseudo-code. As you go through the example, you are directed to the corresponding line in the pseudocode and given a line or two of explanation in the message window. Attractive layout of the data, including colors. |
||||
Step Control; Canned Data |
|||||
Lecture Aid; Self Study |
|||||
Screenshots |
|
||||
Videos |
http://sites.google.com/site/alviehomepage/alvie3/downoads/huffman.swf |
||||
References |
|
||||
Download and unzip the ALVIE system from the website. Double click on the .jar file. Within the ALVIE pane (not the GRIND pane), click on the "eye" icon (third icon from the left in the toolbar) to get a list of algorithms from which select the AV that you want. Once selected, click OK and step through the AV with the arrow icons. |
|||||
First Visited |
2010-01-29 |
||||
Last Visited |
2010-01-29 |
||||
Last Updated |
2009-12-20 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
Lang's Huffman Coding Applet
Recommendation |
Not Recommended |
||||
Link |
http://www.iti.fh-flensburg.de/lang/algorithmen/code/huffman/huffman.htm |
||||
Delivery Method |
Java Applet |
||||
License |
Unavailable |
||||
Language |
German |
||||
Author |
Hans-Werner Lang |
||||
Institution |
ITI Flensburg |
||||
Project |
|||||
Works |
Yes |
||||
Description |
A brief tutorial on Huffman coding, and an applet to demonstrate it. |
||||
Evaluation |
The applet is fairly minimal. It will suggest some words, or you can type some words in. You can press a button to get the letter counts, and then another button puts the counts into circles for the nodes. User then clicks on the next pair of nodes to be combined. In this way, the user builds up the tree. Then the codes are shown (though they overwrite one another). The tree is poorly laid out, since the applet won't move the leaf nodes from their original order. The idea of the user building the tree interactively is good, but the applet doesn't quite go far enough to get the concept across. |
||||
Canned Data; User Data; Step Control |
|||||
Teaching the Concept; Self Study; Lecture Aid |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
An applet at the project homepage. After entering words or accepting what was given, push the "Ausfuhren" button. When the nodes are indicated on the screen, repeatedly click the two smallest values to build the tree. |
|||||
First Visited |
2010-02-11 |
||||
Last Visited |
2010-02-11 |
||||
Last Updated |
2008-05-27 |
||||
Topic |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |





