Skip to content

Aho-Corasick Visualization Project with GUI using wxWidgets

License

Notifications You must be signed in to change notification settings

EchoSingh/AhoCorasickProject

Repository files navigation

wakatime

🎯 Aho-Corasick Visualization Project

Welcome to the Aho-Corasick Visualization Project! This project visualizes the Aho-Corasick string matching algorithm using wxWidgets for the graphical user interface. The algorithm efficiently searches for multiple patterns in a given text, providing visualization of its steps, memory consumption, and results.

πŸ“ Project Structure

AhoCorasickProject/
β”œβ”€β”€ AhoCorasickProject/
β”‚   β”œβ”€β”€ AhoCorasickProject.vcxproj
β”‚   β”œβ”€β”€ AhoCorasickProject.vcxproj.user
β”‚   β”œβ”€β”€ Ahocorasick.cpp
β”‚   β”œβ”€β”€ Ahocorasick.h
β”‚   β”œβ”€β”€ Visualization.h
β”‚   β”œβ”€β”€ main.cpp
β”‚   β”œβ”€β”€ patterns.txt
β”‚   └── visualization.cpp
β”œβ”€β”€ .gitattributes
β”œβ”€β”€ .gitignore
β”œβ”€β”€ AhoCorasickProject.sln
β”œβ”€β”€ LICENSE.txt
└── README.md

πŸ“ Files Description

  • AhoCorasickProject.vcxproj: The Visual Studio project file.
  • AhoCorasickProject.vcxproj.user: User-specific project settings.
  • AhoCorasickProject.sln: The Visual Studio solution file.
  • Ahocorasick.cpp: Implementation of the Aho-Corasick algorithm.
  • Ahocorasick.h: Header file for the Aho-Corasick algorithm.
  • Visualization.h: Header file for the wxWidgets-based visualization.
  • main.cpp: Entry point of the application.
  • patterns.txt: Sample file containing patterns to search.
  • visualization.cpp: Implementation of the wxWidgets-based visualization.
  • .gitattributes: Git attributes file.
  • .gitignore: Git ignore file.
  • LICENSE.txt: License for the project.
  • README.md: This README file.

πŸ“¦ Dependencies

  • wxWidgets
  • C++17 or higher
  • Visual Studio 2019 or later (for building the project)

βš™οΈ Building the Project

  1. Clone the repository:

    git clone https://github.com/EchoSingh/AhoCorasickProject.git
    cd AhoCorasickProject
  2. Open the Solution in Visual Studio: Open AhoCorasickProject.sln with Visual Studio.

  3. Build the Project: Build the solution using Visual Studio.

πŸš€ Running the Project

  1. Load Patterns: Use the "Open Patterns..." menu option to load the patterns.txt file.

  2. Run the Algorithm: Use the "Run Algorithm..." menu option to input a text and search for the patterns.

  3. Visualization: The results of the search will be displayed in the GUI, showing where each pattern is found in the text.

πŸ“„ Example Patterns File

The patterns.txt file should contain one pattern per line. Example:

he
she
his
hers
her
hero
sh

Output_Image

main_frame

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

πŸ‘€ Author

About

Aho-Corasick Visualization Project with GUI using wxWidgets

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages