-
-
Notifications
You must be signed in to change notification settings - Fork 300
[Feature]: Implement Huffman Coding Compression Algorithm with Tree Visualizer #2424
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestgssoc-26Official label for all GSSoC 2026 related issues and pull requests.Official label for all GSSoC 2026 related issues and pull requests.gssoc:approvedVerified issue or PR that meets all project standards and is ready for the next step.Verified issue or PR that meets all project standards and is ready for the next step.in-reviewIndicates that the pull request or issue is currently under review.Indicates that the pull request or issue is currently under review.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgssoc-26Official label for all GSSoC 2026 related issues and pull requests.Official label for all GSSoC 2026 related issues and pull requests.gssoc:approvedVerified issue or PR that meets all project standards and is ready for the next step.Verified issue or PR that meets all project standards and is ready for the next step.in-reviewIndicates that the pull request or issue is currently under review.Indicates that the pull request or issue is currently under review.
Feature Name
Huffman Coding Algorithm and Tree Generation
Feature Description
Implement the Huffman Coding text compression algorithm. The feature should take a text input string from the user, generate the frequency table, construct the binary tree, output the compressed binary code string, and render the resulting Huffman Tree visually on screen.
Motivation
Greedy algorithms and data compression are core parts of advanced computer science curriculums. Huffman coding bridges the gap between text manipulation, tree structures, and greedy choices perfectly.
Implementation Suggestions (Optional)
Write the tree construction logic using a priority queue. For the tree layout UI, look into using SVG elements or a library like D3.js / react-flow to draw the tree nodes and connecting edges cleanly.
Feature Type
New Algorithm
Does this feature require additional resources?
References (Optional)
@ajay-dhangar kindly assign this to me