Algorithm Comparisons Overview This repository contains detailed comparative analyses of various algorithms. It includes two main studies:
1- Spell Checker Algorithms - A comparison of Linear List, BBST (Balanced Binary Search Tree), Trie, and Hash Map algorithms in terms of efficiency in spell checking tasks.
2- Single Pattern Matching Algorithms - An evaluation of Brute-Force, Sunday, KMP, FSM, Rabin-Karp, and Gusfield Z algorithms for finding a specific pattern within a larger text.
Repository Structure Spell_Checker_Algorithms_Comparison.pdf Contains the study comparing the efficiency of different spell checker algorithms based on build time and check time.
Pattern_Matching_Algorithms_Comparison.pdf Presents the analysis of various single pattern matching algorithms, focusing on their performance with both short and long patterns.
Methodology All algorithms were implemented in C++ and tested on consistent datasets. The performance metrics include execution times for different scenarios, providing insights into the strengths and weaknesses of each algorithm.
Results
Spell Checker Algorithms: -BBST and Trie offer the fastest check times. -Hash Map has the fastest build time. -Linear List, while simple, is less efficient overall.
Pattern Matching Algorithms: -The Sunday algorithm is the most efficient for both short and long patterns. -The FSM algorithm is the least efficient. -Rabin-Karp performs well, especially for longer patterns.
Conclusion These studies offer valuable insights for developers and researchers interested in algorithm efficiency, particularly in the context of spell checking and pattern matching. The results can guide the selection of algorithms based on specific use cases.
Contributions Contributions and discussions are welcome. If you have suggestions for improving the analyses or want to add new algorithm comparisons, feel free to submit a pull request or open an issue.