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

How To Use

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

How To Use

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?lang=en&anim=32

Delivery Method

Animal Animation

License

Non-Commercial

Language

English

Author

Marc-Daniel Haunschild; Guido Rössling

Institution

TU Darmstadt, Darmstadt, Germany

Project

Animal

RelationshipToProject

PartOfProject

Works

Yes

Description

(Note that the site has two AVs, one for encoding and one for decoding. The one for encoding, linked above, shows most of the material.) Presents 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

Videos

References

How To Use

First Visited

2007-07-21

Last Visited

2008-07-25

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

How To Use

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

How To Use

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

Unrated

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

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

How To Use

First Visited

2007-09-27

Last Visited

2007-09-27

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

How To Use

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

How To Use

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

How To Use

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

How To Use

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

How To Use

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.