/Data-Compression

This repository contains implementations of various data compression algorithms, both lossy and lossless.

Primary LanguageJavaMIT LicenseMIT

Data Compression

This repository contains implementations of various data compression algorithms, both lossy and lossless.

this repository also includes a Graphical User Interface (GUI) application built using IntelliJ IDEA or NetBeans. The GUI application provides a user-friendly interface for interacting with the compression algorithms.

  • Features:
    • User-friendly Interface: The GUI simplifies the process of compressing and decompressing files using the implemented algorithms.
    • File Selection: Easily select files for compression or decompression through the intuitive file selection interface.
    • Compression Option: Choose between lossy and lossless Compressions
    • Lossless Compressions
      • Algorithm Options: Choose between LZ77, LZW, and Huffman algorithms with a click, allowing for quick experimentation and comparison.
  • How to Run:
    • Open the project in IntelliJ IDEA or NetBeans.
    • Locate the main class (e.g., Main.java) for the GUI application.
    • Run the main class to launch the GUI application.

Usage

  1. Clone the repository to your local machine.
git clone https://github.com/AbdelrhmanReda17/Data-Compression.git
  1. Navigate to the algorithm of interest (e.g., LZ77, LZW, Huffman or Vector Qunatization) or use the GUI Application.
  2. Follow the instructions in the algorithm's README for usage details and examples.

Contributors

This project is maintained by: Abdelrhman Reda , Snowkaai and Nada Mohammed Feel free to contribute, report issues, or provide feedback