Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sbmaruf/algorithms-code-library
C++ Implementation of variety of Algorithms and some must have cheetsheets for CS students.
https://github.com/sbmaruf/algorithms-code-library
algorithm c-plus-plus library programming-contests
Last synced: 4 days ago
JSON representation
C++ Implementation of variety of Algorithms and some must have cheetsheets for CS students.
- Host: GitHub
- URL: https://github.com/sbmaruf/algorithms-code-library
- Owner: sbmaruf
- License: mit
- Created: 2017-10-17T06:03:51.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-31T07:20:15.000Z (10 months ago)
- Last Synced: 2024-01-31T08:33:06.231Z (10 months ago)
- Topics: algorithm, c-plus-plus, library, programming-contests
- Language: C++
- Homepage:
- Size: 3.68 MB
- Stars: 27
- Watchers: 1
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Algorithms-Code-Library
C++ Implementation of variety of Algorithms and some mush have cheetsheets for CS Students.## Cheet Sheets
- [Trigonometry Cheat sheet](https://github.com/sbmaruf/Algorithms-Code-Library/blob/master/Cheet%20Sheets/Trig_Cheat_Sheet.pdf)
- [Computer Science Cheat sheet](https://github.com/sbmaruf/Algorithms-Code-Library/blob/master/Cheet%20Sheets/computer_science_cheatsheet.pdf) : Mainly series, algorithm discrete math and calculus based cheat sheet.
- [ICPC Cheatsheet](https://github.com/sbmaruf/Algorithms-Code-Library/blob/master/Cheet%20Sheets/cheatsheet2014.pdf) : Outdated, may be helpful for beginners.## Data Structure
In no particular order,
- Binary Indexed tree (BIT)
- Heavy Light Decomposition (HLD)
- Histrogram
- LCA
- RMQ
- trie
## GeometryIn no particular order,
- CircleSegmentTetrahedron
- Closest Pair
- ConvexHull
- ConvexHull GrahamScan
- ConvexHull MonotoneChain
- Parametric Geometry routine
- Line segment intersection
- Ray casting algorithm (PointInPolygon)
- Rotate point
- Tangent of line## Graph
In no particular order,
- Stoer Wagner all pair Min Cut
- Articulation Point
- Bellman Ford
- BiConnected Component
- Bridge
- Disjoint Set
- Eular Circuit
- Hungerian Algorithm
- Max Weighted Bi-partite Matching
- MaxFlow Dinic
- Maximum Bipertite Matching
- Mincost Max Flow
- Minimum Expression
- Dinitz
- Dinitz With EdgeList
- Stable marrige problem
- Strongly Connected Component
- Tarjans Off line LCA
- manacher## Matrix & Numeric
In no particular order,
- Big float (C++ library)
- BigInt
- FFT
- Faussian Elimination
- matrix Exponentiation## Number theory and Math
In no particular order,
- ExtendedEuclidMOdInverse
- Hn
- LinearDiphontine
- Number Theory Part 1.pdf - Good colelction of Number theoric discussion.
- NumberTheory Part 2.pdf - Good colelction of Number theoric discussion.
- PollardRho
- SegmentedSieve
- ShankBabyStepGiantStep
- Sieve
- josepheous
- ncr## Searching
- Ternary Search
## String
- Aho Chorasik
- KMP
- Hashing
- suffix-array.pdf - Good discussion of suffix-array
- Suffix array code.## IO
- Fast read C++## Collected Library
- [Stanford University ACM Team Notebook](https://github.com/sbmaruf/Algorithms-Code-Library/blob/master/Collected%20Library/Stanford%20University%20ACM%20Team%20Notebook.pdf) : Outdated, maybe helpful for mid-level/above mid-level problem solver.
- Combinatorial optimization1.
1. Sparse max-flow (C++)
2. Min-cost max-flow (C++)
3. Push-relabel max-flow (C++)
4. Min-cost matching (C++)
5. Max bipartite matching (C++)
6. Global min cut (C++)
7. Graph cut inference (C++)
- Geometry
1. Convex hull (C++)
2. Miscellaneous geometry (C++)
3. Java geometry (Java)
4. 3D geometry (Java)
5. Slow Delaunay triangulation (C++)
- Numerical algorithms
1. Number theoretic algorithms (modular, Chinese remainder, linear Diophantine) (C++)
2. Systems of linear equations, matrix inverse, determinant (C++)
3. Reduced row echelon form, matrix rank (C++)
4. Fast Fourier transform (C++)
5. Simplex algorithm (C++)
- Graph algorithms
1. Fast Dijkstra's algorithm (C++)
2. Strongly connected components (C)
3. Eulerian Path (C++)
- Data structures
1. Suffix arrays (C++)
2. Binary Indexed Tree
3. Union-Find Set (C/C++)
4. KD-tree (C++)
5. Lazy Segment Tree (Java)
6. Lowest Common Ancestor (C++)
- Miscellaneous
1. Longest increasing subsequence (C++)
2. Dates (C++)
3. Regular expressions (Java)
4. Prime numbers (C++)
5. C++ input/output
6. Knuth-Morris-Pratt (C++)
- [Stavropol SU](https://github.com/sbmaruf/Algorithms-Code-Library/blob/master/Collected%20Library/Stavropol%20SU%20.pdf) : Extremely outdated, but worth to look at.
- vimrc
- Java template
- Combinatorics
- Number Theory
- String Algorithms
- Min-cost max-flow
- Graph Theory
- Games
- Geometry
- Math
- Data Structures
- Miscellanious 13FFT
Special Thanks: My trainer Tarif Ezaz and my friend Mohammad Abdullah Matin Khan Zarzis to whom I learned to think.
I also want to mention some of the other special names for their tremendous support. Nafis Ahmed, Mohammad Samiul Islam, Zobayer Hasan, Forhad Ahmed and Leonardo Boshell
NOTE : I don't claim all of the soutions to be mine. While I was solving the problems, I took help from different peoples and see other people's code for many problems. In Fact most of the coder here is collected. But I never submit any code without my complete understanding. I suugest those who will be following the repo to do so. Pasting code to online judges won't take you any further except frustration.