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

http://www.cs.usfca.edu/galles/visualization/download.html

Delivery Method

Java Application

License

Unlicensed Sourcecode

Language

English

Author

David Galles

Institution

University of San Francisco

Project

Data Structure Visualization

RelationshipToProject

PartOfProject

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.

ActivityLevel

Animation; Step Control; User Data

GoodFor

Lecture Aid; Self Study; Debugging

Screenshots

Videos

References

HowToUse

First Visited

2006-09-01

Last Visited

2008-07-02

Last Updated

2006-04-05

Topic

HuffmanCodingTrees

Community

Average rating: 3.0
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

JHAVÉ - Huffman Coding/Decoding

Recommendation

Has Potential

Link

http://jhave.org/learner

Delivery Method

Java Web Start

License

CreativeCommons

Language

English

Author

Tom Naps

Institution

University of Wisconsin - Oshkosh

Project

JHAVÉ

RelationshipToProject

PartOfProject

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.

ActivityLevel

Step Control; Questions; Canned Data

GoodFor

Lecture Aid; Self Study; Lab Exercise

Screenshots

Videos

References

HowToUse

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

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

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

Animal

RelationshipToProject

PartOfProject

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.

ActivityLevel

Animation; Step Control; Canned Data

GoodFor

Lecture Aid; Self Study

Screenshots

Animal - Huffman Encoding 1Animal - Huffman Encoding 2Animal - Huffman Decoding 1Animal - Huffman Decoding 2

Videos

References

HowToUse

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

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

BelugaHuffman

Recommendation

Not Recommended

Link

http://www.beluga.ch/code/applets/huffman/

Delivery Method

Java Applet

License

Unavailable

Language

English

Author

Studer Etienne

Institution

None

Project

StandAlone

RelationshipToProject

StandAlone

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.

ActivityLevel

GoodFor

Lecture Aid

Screenshots

Videos

References

HowToUse

First Visited

2007-27-09

Last Visited

2008-07-02

Last Updated

Topic

HuffmanCodingTrees

Community

Average rating: 3.0
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

Swan - Huffman

Recommendation

Has Potential

Link

http://research.cs.vt.edu/AVresearch/Swan/

Delivery Method

Windows Application

License

GPL

Language

English

Author

Jun Yang; Cliff Shaffer

Institution

Virginia Tech

Project

Swan

RelationshipToProject

PartOfProject

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.

ActivityLevel

Step Control; Canned Data; User Data

GoodFor

Lecture Aid; Self Study

Screenshots

Videos

References

HowToUse

First Visited

2006-11-08

Last Visited

2008-07-03

Last Updated

1996

Topic

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

SFUhuffman

Recommendation

Not Recommended

Link

http://www.cs.sfu.ca/cs/CC/365/li/squeeze/Huffman.html

Delivery Method

Java Applet

License

Unlicensed Sourcecode

Language

English

Author

Walter Korman; Sominik Szopa

Institution

Simon Fraser University

Project

StandAlone

RelationshipToProject

StandAlone

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.

ActivityLevel

GoodFor

Exploring the Concept

Screenshots

Videos

References

HowToUse

First Visited

2007-09-27

Last Visited

2010-02-16

Last Updated

1996-12-16

Topic

HuffmanCodingTrees

Community

Average rating: 2.0
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

SFU Adaptive Huffman Coding

Recommendation

Unrated

Link

http://www.cs.sfu.ca/cs/CC/365/li/squeeze/AdaptiveHuff.html

Delivery Method

Java Applet

License

Unlicensed Sourcecode

Language

English

Author

Dominik Szopa

Institution

Simon Fraser University

Project

StandAlone

RelationshipToProject

StandAlone

Works

Description

Evaluation

ActivityLevel

GoodFor

Screenshots

Videos

References

HowToUse

First Visited

Last Visited

Last Updated

Topic

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

Auckland - Huffman Coding

Recommendation

Recommended

Link

http://www.cs.auckland.ac.nz/software/AlgAnim/huffman.html

Delivery Method

Java Applet

License

Unavailable

Language

English

Author

Woi Ang; John Morris

Institution

University of Auckland

Project

Morris' Collection

RelationshipToProject

PartOfCollection

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.

ActivityLevel

Step Control; Animation; Canned Data

GoodFor

Lecture Aid; Self Study

Screenshots

Videos

References

HowToUse

First Visited

2006-04-18

Last Visited

2008-07-17

Last Updated

1998

Topic

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

Binary Huffman Coder

Recommendation

Not Recommended

Link

http://www.ee.uwa.edu.au/~roberto/teach/itc314/java/Huffman

Delivery Method

Java Applet

License

Unavailable

Language

English

Author

Roberto Togneri

Institution

University of Western Australia

Project

StandAlone

RelationshipToProject

StandAlone

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.

ActivityLevel

Step Control; Canned Data

GoodFor

Nothing

Screenshots

Videos

References

HowToUse

First Visited

2006-04-18

Last Visited

2009-04-28

Last Updated

1997

Topic

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

AHuffman

Recommendation

Unrated

Link

http://www.cs.sjsu.edu/faculty/khuri/AHuffman.zip

Delivery Method

Java Application

License

Language

English

Author

Sami Khuri; H. Hsu

Institution

San Jose State University

Project

StandAlone

RelationshipToProject

StandAlone

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

ActivityLevel

GoodFor

Teaching the Concept

Screenshots

Videos

References

HowToUse

First Visited

2006-04-18

Last Visited

2006-04-18

Last Updated

2000-04-01

Topic

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

Huffman Coding Shockwave

Recommendation

Unrated

Link

http://peter.bittner.it/tugraz/huffmancoding.html

Delivery Method

Shockwave

License

Language

English

Author

Peter Bittner

Institution

Aston University

Project

StandAlone

RelationshipToProject

StandAlone

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

ActivityLevel

GoodFor

Teaching the Concept

Screenshots

Videos

References

HowToUse

First Visited

2006-04-18

Last Visited

2006-04-18

Last Updated

Topic

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.

ALVIE - Huffman Coding

Recommendation

Unrated

Link

http://alvie.algoritmica.org/

Delivery Method

Java Application

License

By Request

Language

English

Author

Pilu Crescenzi

Institution

University of Florence

Project

ALVIE

RelationshipToProject

PartOfProject

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.

ActivityLevel

Step Control; Canned Data

GoodFor

Lecture Aid; Self Study

Screenshots

Videos

http://sites.google.com/site/alviehomepage/alvie3/downoads/huffman.swf

References

HowToUse

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

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

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

StandAlone

RelationshipToProject

StandAlone

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.

ActivityLevel

Canned Data; User Data; Step Control

GoodFor

Teaching the Concept; Self Study; Lecture Aid

Screenshots

Videos

References

HowToUse

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

HuffmanCodingTrees

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.