Skip to content

Mdominykas/Algorithms-and-data-structures

Repository files navigation

Implementations of several algorithms and data structures.

These codes should be tested, readable, well-commented and easy to modify. However, as it is changing repository, these requirements are not always met. Nonetheless, beggining of each code has short summary of algorithm source where it was taken, complexity and testing status. (updated 2021-01)

Content

Data Structures

* DisjoinSetUnion.cpp
* PrefixSumArray.cpp
* Trie.cpp
* FenwickTree.cpp
* SegmentTreeWithLazyPropagation.cpp
* SegmentTree.cpp
* SparseTable.cpp

Dynamic programming

* HeldKarpAlgortihm.cpp
* LongestIncreasingSubsequence.cpp

Graph theory

* PrimAlgorithm.cpp
* DepthFirstSearch.cpp
* FloydTortoiseAndHare.cpp
* BellmanFord.cpp
* FloydWarshall.cpp
* BreadthFirstSearch.cpp
* FleuryAlgorithm.cpp
* HierholzerAlgorithm.cpp
* DijkstraAlgorithm.cpp
* KruskalAlgorithm.cpp
# Directed Graphs
  * TopologicalSorting.cpp
  * KosarajuAlgorithm.cpp
# Flows
  * FordFulkerson.cpp
  * EdmondsKarp.cpp
  * MinCut.cpp
# Tree Algorithms
  * TreeDiameter.cpp
  * TreeTraversalArray.cpp
  * EulerTourTechniqueLCA.cpp
  * LCA.cpp

Mathematics

# Algebra
  * GaussianElimination.cpp
  * MatrixMultiplication.cpp
# Geometry
  * ShoelaceFormula.cpp
# Number theory
  * SieveOfEratostenes.cpp
  * ExtendedEuclideanAlgorithm.cpp
  * FastModularExponention.cpp
  * ChineseRemaindertheorem.cpp
  * EuclideanAlgorithm.cpp

Sorting and Search

* MergeSort.cpp
* QuickSelect.cpp
* CountingSort.cpp
* quicksort.cpp
* BinarySearch.cpp
* CoordinateCompression.cpp

String algorithms

* KnuthMorrisPratt.cpp
* PolynomialHashing.cpp

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published