https://github.com/brettcleary/algospp
C++ Algorithms Library
https://github.com/brettcleary/algospp
algorithms cpp graph graphalgorithm sorting-algorithms
Last synced: 11 months ago
JSON representation
C++ Algorithms Library
- Host: GitHub
- URL: https://github.com/brettcleary/algospp
- Owner: BrettCleary
- License: mit
- Created: 2020-07-10T02:19:27.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-09-27T18:24:40.000Z (over 5 years ago)
- Last Synced: 2025-01-17T11:47:55.852Z (about 1 year ago)
- Topics: algorithms, cpp, graph, graphalgorithm, sorting-algorithms
- Language: C++
- Homepage:
- Size: 85 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AlgosPP
C++ Algorithms Library
## Table of Contents
* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Installation](#installation)
* [Usage](#usage)
* [Contributing](#contributing)
* [License](#license)
* [Contact](#contact)
* [Sorting Performance](#sorting-performance)
## About The Project
AlgosPP is a static library for sorting algorithms, advanced data structures, and graph algorithms.
### Features
* AlgosPPSorting
* basic sorting algorithms
* [introsort algorithm that matches std::sort performance](#sorting-performance)
* AlgosPPDataStructures.lib
* Van Emde Boas Tree
* generic
* outperforms balanced BST std::set (log(n) time complexity) on large number of elements with log(log(n)) time complexity
* Fibonacci Heap
* AlgosPPGraphBasic.lib
* Graph Class
* BFS
* DFS
* Topological Sort
* Strongly Connected Components
* Bellman Ford Single Source Shortest Paths
* AlgosPPGraphAdv.lib
* Prims Minimum Spanning Tree
* Dijkstras Single Source Shortest Paths
* Floyd Warshall All Pairs Shortest Paths
* Johnson All Pairs Shortest Paths
### Built With
* [Google Test](https://github.com/google/googletest)
* [Cmake](https://cmake.org/)
### Installation
1. Clone the repo
```sh
git clone https://github.com/BrettCleary/DigitCNN
```
OR
2. Include *.lib
## Usage
See unit tests for usage examples.
## Contributing
Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
Distributed under the MIT License. See `LICENSE` for more information.
## Contact
Project Link: [https://github.com/BrettCleary/SeqNN](https://github.com/BrettCleary/AlgosPP)
## Sorting Performance
Profiling for each sorting algorithm implemented compared to std::sort:
