/Algorithm-DS-Library

A repository which has all the basic and advanced Algorithms and Data Structures implemented for reference in C++ and C#.

Primary LanguageC++MIT LicenseMIT

Algorithms and Data Structures Library


Description

This repository contains basic and advanced Algorithms and Data Structures in C++ which can be used for reference.

Algorithm - Topics

Dynamic Programming

  1. Box Stacking Problem
  2. Coin Changing Problem
  3. Coin Changing Problem - 2
  4. Rod Cutting Problem
  5. Edit Distance Problem
  6. Egg Dropping Problem
  7. Knapsack
  8. Kadane's Algorithm
  9. Longest Common Substring
  10. Longest Common Subsequence
  11. Longest Increasing Subsequence
  12. Longest Increasing Sum Subsequence
  13. Longest Palindromic Subsequence
  14. Minimum Cost Path
  15. Minimum Jumps to reach the end
  16. Optimal Strategy for a Game
  17. Sequence Alignment
  18. Subset Sum Problem
  19. Buy - sell stock to maximise profit on k transactions

Graph

  1. Bellman Ford
  2. Checking cycles in a Graph
  3. Dijkstra's(without priority queue)
  4. Dijkstra's Algorithm
  5. Lowest Common Ancestor
  6. Kruskal-Minimum Spanning Tree
  7. Prim's-Minimum Spanning Tree
  8. Kosaraju Double Pass Algorithm - Strongly Connected Components

Searching

  1. Breadth First Search
  2. Depth First Search

Sorting

  1. Bubble Sort
  2. Heap Sort
  3. Merge Sort
  4. Quick Sort

String

  1. KMP Algorithm


Data Structures

  1. Fenwick Tree
  2. Segment Tree
  3. Segment Tree with lazy propagation
  4. Sparse Table - Range Minimum Query
  5. Trie Data Structures