项目作者: sbmaruf

项目描述 :
C++ Implementation of variety of Algorithms and some must have cheetsheets for CS students.
高级语言: C++
项目地址: git://github.com/sbmaruf/Algorithms-Code-Library.git
创建时间: 2017-10-17T06:03:51Z
项目社区:https://github.com/sbmaruf/Algorithms-Code-Library

开源协议:MIT License

下载


Algorithms-Code-Library

C++ Implementation of variety of Algorithms and some mush have cheetsheets for CS Students.

Cheet Sheets

Data Structure

In no particular order,

  1. - Binary Indexed tree (BIT)
  2. - Heavy Light Decomposition (HLD)
  3. - Histrogram
  4. - LCA
  5. - RMQ
  6. - trie

Geometry

In no particular order,

  1. - CircleSegmentTetrahedron
  2. - Closest Pair
  3. - ConvexHull
  4. - ConvexHull GrahamScan
  5. - ConvexHull MonotoneChain
  6. - Parametric Geometry routine
  7. - Line segment intersection
  8. - Ray casting algorithm (PointInPolygon)
  9. - Rotate point
  10. - Tangent of line

Graph

In no particular order,

  1. - Stoer Wagner all pair Min Cut
  2. - Articulation Point
  3. - Bellman Ford
  4. - BiConnected Component
  5. - Bridge
  6. - Disjoint Set
  7. - Eular Circuit
  8. - Hungerian Algorithm
  9. - Max Weighted Bi-partite Matching
  10. - MaxFlow Dinic
  11. - Maximum Bipertite Matching
  12. - Mincost Max Flow
  13. - Minimum Expression
  14. - Dinitz
  15. - Dinitz With EdgeList
  16. - Stable marrige problem
  17. - Strongly Connected Component
  18. - Tarjans Off line LCA
  19. - manacher

Matrix & Numeric

In no particular order,

  1. - Big float (C++ library)
  2. - BigInt
  3. - FFT
  4. - Faussian Elimination
  5. - matrix Exponentiation

Number theory and Math

In no particular order,

  1. - ExtendedEuclidMOdInverse
  2. - Hn
  3. - LinearDiphontine
  4. - Number Theory Part 1.pdf - Good colelction of Number theoric discussion.
  5. - NumberTheory Part 2.pdf - Good colelction of Number theoric discussion.
  6. - PollardRho
  7. - SegmentedSieve
  8. - ShankBabyStepGiantStep
  9. - Sieve
  10. - josepheous
  11. - ncr

Searching

  1. - Ternary Search

String

  1. - Aho Chorasik
  2. - KMP
  3. - Hashing
  4. - suffix-array.pdf - Good discussion of suffix-array
  5. - Suffix array code.

IO

  1. - Fast read C++

Collected Library

  • Stanford University ACM Team Notebook : 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 : 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.