This repository houses a collection of implemented compression algorithms along with demo projects that showcase their functionality.
It serves as a resource for developers interested in data compression techniques and their practical applications.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
This project is part of my bachelor diploma work. See Diploma papers. This project is a library of compression algorithms implemented in code. It serves two main purposes:
- To provide a collection of ready-to-use compression algorithms for developers and researchers.
- To demonstrate the practical application of these algorithms through demo projects.
The repository includes:
- A variety of compression algorithms, each implemented and optimized for practical use
- Demo projects that showcase how these algorithms work in real-world scenarios
- Documentation to help users understand and utilize the implemented algorithms
Whether you're a developer looking to integrate compression into your project, a student learning about data compression, or a researcher exploring different compression techniques, this repository aims to be a valuable resource.
- Implement standard Lempel–Ziv–Welch (LZW) algorithm;
- Implement standard Huffman algorithm;
- Implement standard Burrows-Wheeler transformation:
- Implement custom query;
- Implement Suffix Array;
- Implement Move-To-Front (MTF) algorithm;
- Implement Run-Length-Encoding (RLE) algorithm;
- Modify Lzw with Bwt without anything else;
- Modify Huffman with Bwt without anything else;
- Develop and implement custom Bwt + Mtf + Lzw algorithm;
- Develop and implement custom Bwt + Mtf + Huffman algorithm;
- Add demo projects;
- Add statistics;
Welcome to the Curious Benchmarks! This repository is designed to help you explore and understand performance characteristics of various .NET approaches. Follow these steps to get started:
- Install .NET SDK (version 8.0 or later)
- Install BenchmarkDotNet (Included in the project)
-
Clone the Repository
git clone https://github.com/antomys/Compression-Algorithms.git cd .\src\main
-
Build the Solution
dotnet build
-
Run Benchmarks. Navigate to a specific benchmark project and run:
dotnet run -c Release
If you have any questions or suggestions, please open an issue in the repository.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Ihor Volokhovych - @incomingwebhook - igorvolokhovych@gmail.com
Project Link: https://github.com/antomys/Compression-Algorithms