https://github.com/lilyreber/substring-lib
A C++ library of various algorithms for substring searching
https://github.com/lilyreber/substring-lib
algorithms substring-search
Last synced: over 1 year ago
JSON representation
A C++ library of various algorithms for substring searching
- Host: GitHub
- URL: https://github.com/lilyreber/substring-lib
- Owner: lilyreber
- License: mit
- Created: 2025-01-17T11:19:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-02T23:34:54.000Z (over 1 year ago)
- Last Synced: 2025-03-03T00:53:44.204Z (over 1 year ago)
- Topics: algorithms, substring-search
- Language: C++
- Homepage:
- Size: 504 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# substring-lib


This C++ Library provides tools for solving common problems,
such as substring search and pattern matching for different
purposes
## Algorithms
Algorithms implemented in the substring-lib include the following. For more information on individual algorithms please take a look at the [docs](docs/Algo-description.pdf).
1. Knuth-Morris-Pratt (KMP) Algorithm
2. Boyer-Moore Algorithm
3. Rabin-Karp Algorithm
4. Suffix Array Construction
5. Z-Algorithm
6. Aho-Corasick Algorithm
7. Not So Naive Algorithm
8. Max Common Substring
9. Kasai Algorithm
10. Quick Search Algorithm
## Build
### For Linux
1. **Build the project:**
```sh
mkdir build
cd build
cmake ..
make
```
2. **Run the tests:**
```sh
ctest
```
### For Windows (MSVC)
1. **Build the project:**
```sh
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" # Change generator if using another version of Visual Studio
cmake --build . --config Release
```
2. **Run the tests:**
```sh
ctest --build . --config Release
```
### For macOS
1. **Build the project:**
```sh
mkdir build
cd build
cmake ..
make
```
2. **Run the tests:**
```sh
ctest
```
## Installation Header-only
Substring-lib can be included as a header-only library.
Download the `include` directory from our repository and add it to your include path.
You can now use Graaf in your source files:
```c++
#include
```
Для больших деталей перейдите к [инструкции по установке](lib/include/README.md)
## Contributing
```substring-lib``` - is HSE university project.
Therefore, we welcome your comments and advice. For any questions (including bugreports and recommendations), please contact our developers
## License
This project is licensed under the [MIT license](LICENSE)
## Contributors
* [Залилова Диана](https://www.github.com/mediana105)
* [Иванова Арина](https://www.github.com/Arishkamu)
* [Имамутдинова Лилия](https://www.github.com/lilyreber)
* [Исаева Екатерина](https://www.github.com/karambo3a)
* [Мухаметлиева Алина](https://www.github.com/Alina-Muha)
HSE SPB, AMIS-3