Skip to content

Adding Huffman Code in DSA folder #3489

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 17, 2024
Merged

Conversation

sjain1970
Copy link
Contributor

@sjain1970 sjain1970 commented Jul 17, 2024

Fixing Issue

Fix #3380

Description

This pull request implements the Huffman Coding algorithm in C++. Huffman Coding is a lossless data compression algorithm that assigns variable-length codes to input characters based on their frequencies, resulting in efficient compression.

Type of PR

  • Bug fix
  • Feature enhancement
  • Documentation update
  • Security enhancement
  • Other (specify): _______________

Checklist

  • I have performed a self-review of my code.
  • I have read and followed the Contribution Guidelines.
  • I have tested the changes thoroughly before submitting this pull request.
  • I have provided relevant issue numbers, screenshots, and videos after making the changes.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have followed the code style guidelines of this project.
  • I have checked for any existing open issues that my pull request may address.
  • I have ensured that my changes do not break any existing functionality.
  • Each contributor is allowed to create a maximum of 4 issues per day. This helps us manage and address issues efficiently.
  • I have read the resources for guidance listed below.
  • I have followed security best practices in my code changes.

Additional Context

The Huffman Coding algorithm is widely used in data compression applications, making it a valuable addition to our DSA folder. The implementation includes functionalities for building the Huffman tree, generating codes, and encoding/decoding text.

Resources for Guidance

Please read the following resources before submitting your contribution:

## Fixing Issue codeharborhub#3380

## Description

This pull request implements the Huffman Coding algorithm in C++. Huffman Coding is a lossless data compression algorithm that assigns variable-length codes to input characters based on their frequencies, resulting in efficient compression.

## Type of PR

- [ ] Bug fix
- [x] Feature enhancement
- [ ] Documentation update
- [ ] Security enhancement
- [ ] Other (specify): _______________

## Checklist
- [x] I have performed a self-review of my code.
- [x] I have read and followed the Contribution Guidelines.
- [x] I have tested the changes thoroughly before submitting this pull request.
- [x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
- [x] I have commented my code, particularly in hard-to-understand areas.
- [x] I have followed the code style guidelines of this project.
- [x] I have checked for any existing open issues that my pull request may address.
- [x] I have ensured that my changes do not break any existing functionality.
- [ ] Each contributor is allowed to create a maximum of 4 issues per day. This helps us manage and address issues efficiently.
- [x] I have read the resources for guidance listed below.
- [x] I have followed security best practices in my code changes.

## Additional Context

The Huffman Coding algorithm is widely used in data compression applications, making it a valuable addition to our DSA folder. The implementation includes functionalities for building the Huffman tree, generating codes, and encoding/decoding text.

## Resources for Guidance

Please read the following resources before submitting your contribution:

- [x] [Code Harbor Hub Community Features](https://www.codeharborhub.live/community/features)
- [x] [Markdown Guide](https://www.markdownguide.org/)
@sjain1970 sjain1970 requested a review from ajay-dhangar as a code owner July 17, 2024 10:14
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job, @sjain1909! 🎉 Thank you for submitting your pull request to CodeHarborHub. We appreciate your contribution and enthusiasm! Our team will review it soon. If you have any questions or need further assistance, feel free to reach out. Thanks for contributing!

Copy link
Contributor

deepsource-io bot commented Jul 17, 2024

Here's the code health analysis summary for commits 744cf5b..02b5e65. View details on DeepSource ↗.

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource JavaScript LogoJavaScript✅ SuccessView Check ↗

💡 If you’re a repository administrator, you can configure the quality gates from the settings.

@sjain1970
Copy link
Contributor Author

@ajay-dhangar sir, kindly review and let me know if any changes required.

Copy link

github-actions bot commented Jul 17, 2024

⚡️ Lighthouse Report for the Deploy Preview of this PR 🚀

🔗 Site: CodeHarborHub | Live Site

URL 🌐 Performance Accessibility Best Practices SEO 📊
/ 🔴 31 🟡 86 🟡 75 🟡 86 📄
/docs 🔴 44 🟢 96 🟢 96 🟢 100 📄
/docs/category/javascript 🔴 46 🟢 96 🟢 96 🟢 100 📄
/courses 🔴 46 🟢 96 🟢 96 🟢 100 📄
/courses/category/reactjs 🟡 53 🟢 96 🟢 96 🟢 100 📄
/dsa-problems 🟡 51 🟢 96 🟢 96 🟢 100 📄
/dsa-problems/category/leetcode-problems 🟡 50 🟢 96 🟢 96 🟢 100 📄
/dsa-solutions 🟡 51 🟢 96 🟢 96 🟢 100 📄
/dsa-solutions/category/leetcode-solutions 🔴 49 🟢 96 🟢 96 🟢 100 📄
/blog 🔴 33 🟢 95 🟢 96 🟢 100 📄
/showcase 🟡 52 🟢 95 🟢 96 🟡 86 📄
/community 🟡 50 🟢 96 🟢 96 🟢 100 📄
/docs/tags 🔴 40 🟢 96 🟢 96 🟡 86 📄
/product 🟡 56 🟢 96 🟢 96 🟢 100 📄

@ajay-dhangar ajay-dhangar added GSSOC'24 GirlScript Summer of Code | Contributor level1 GirlScript Summer of Code | Contributor's Levels gssoc GirlScript Summer of Code | Contributor dsa-solution Label for solutions related to Data Structures & Algorithms. labels Jul 17, 2024
Copy link
Member

@ajay-dhangar ajay-dhangar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have updated your code based on our needs like

The code is well organized and easy to follow. It demonstrates a solid understanding of Huffman coding and its implementation. It includes detailed comments, which enhance code readability and make it easier for others to understand.

The provided code does not include any tests. Writing tests is an important aspect of development and helps ensure the code is working as expected. I recommend adding tests for this implementation to make it more robust and reliable.

Overall, this is a well-written and informative implementation of Huffman coding. With the addition of tests, it would be even more impressive.

So, if you want to write content for next time to make sure you follow our Guidelines for Writing DSA Problem Solutions

@ajay-dhangar ajay-dhangar merged commit a2fdc09 into codeharborhub:main Jul 17, 2024
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dsa-solution Label for solutions related to Data Structures & Algorithms. gssoc GirlScript Summer of Code | Contributor GSSOC'24 GirlScript Summer of Code | Contributor level1 GirlScript Summer of Code | Contributor's Levels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request]: Implementing Huffman Coding using C++ to DSA folder.
2 participants