An open API service indexing awesome lists of open source software.

https://github.com/jeanchilger/useful-algorithms

A bunch of commonly used algorithms and hacks to make a programmer's life easier
https://github.com/jeanchilger/useful-algorithms

ordering searching useful-functions

Last synced: 10 months ago
JSON representation

A bunch of commonly used algorithms and hacks to make a programmer's life easier

Awesome Lists containing this project

README

          

# useful-algorithms
A bunch of commonly used algorithms and hacks to make a programmer's life easier.
The algorithms were mostly developed by [JeanCHilger](https://github.com/JeanCHilger), [Junior-16](https://github.com/Junior-16) and [PauloGSC](https://github.com/PauloGSC).

## TODO
- [ ] [Sieve of Eratosthenes](https://github.com/JeanCHilger/useful-algorithms/tree/master/math/sieve.cpp)
- [ ] Fenwick Tree
- [ ] Segment Tree with Lazy
- [ ] Union-Find Disjoint Set
- [ ] Minimum Spanning Tree
- [ ] Kuskal's Algorithm
## Quick List
Superficial description of the contents of this repository.
* [data-structures](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures): Useful and ordinary data structures, most found anywhere else.
* [trees](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees): Trees data structures.
* [avl](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees/avl): AVL balanced tree implementation using C language;
* [bst](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees/bst): Binary Search Tree implementation using C language;
* [red-black](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees/red-black)(not complete): Red-Black balanced tree implementation using C language;
* [segment-tree](https://github.com/JeanCHilger/useful-algorithms/tree/master/data-structures/trees/segment-tree): Segment Tree array-like implementation using C++ language;

* [dynamic-programming](https://github.com/JeanCHilger/useful-algorithms/tree/master/dynamic-programming): Classical dynamic programming algorithms.
* [coin.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/coin.cpp): C++ implementation for the *coin chttps://github.com/JeanCHilger/useful-algorithms/tree/master/data-structureshange* problem;
* [edit-distance.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/edit-distance.cpp): C++ implementation for the *edit distance* problem;
* [kadane.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/kadane.cpp): C++ implementation for the Kadane's algorithm (max sum for a contiguous subarray);
* [knapsack-bottom-up.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/knapsack-bottom-up.cpp): C++ implementation for the knapsack problem, using the bottom-up approach;
* [knapsack.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/knapsack-bottom-up.cpp): C++ implementation for the knapsack problem, using the top-down approach;
* [lis.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/lis.cpp): C++ implementation for the Longest Increasing Subsequence problem;
* [longest-palindromic-subsequence.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/longest-palindromic-subsequence.cpp): C++ implementation for the Longest Palindromic Subsequence problem;
* [longest-palindromic-substring.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/longest-palindromic-substring.cpp): C++ implementation for the Longest Palindromic Substring problem;
* [max-subarray-sum.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/max-subarray-sum.cpp): C++ implementation for the maximun sum of a subarray problem;
* [scs.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/dynamic-programming/scs.cpp): C++ implementation for the Shortest Common Supersequence problem;

* [graphs](https://github.com/JeanCHilger/useful-algorithms/tree/master/graphs): Classical algorithms on graphs.
* [bfs.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/graphs/bfs.cpp): C++ implementation of the Breadth-First Search traversal;
* [dfs.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/graphs/dfs.cpp): C++ implementation of the Depth-First Search traversal;
* [dijkstra.cpp](https://github.com/JeanCHilger/useful-algorithms/blob/master/graphs/dijkstra.cpp): C++ implementation of the Dijkstra's algorithm;

* [problem-solving](https://github.com/JeanCHilger/useful-algorithms/tree/master/problem-solving): Problems solved by [JeanCHilger](https://github.com/JeanCHilger), [Junior-16](https://github.com/Junior-16) and [PauloGSC](https://github.com/PauloGSC), from misc sources.