Data Structures And Algorithms


DATA STRUCTURES


  • Array List
  • Binary Search Tree
  • Doubly Linked List
  • Heap
  • Stack
  • Trie

ALGORITHMS


1) Sorting

  • Bubble Sort
  • Heap Sort
  • Insertion Sort
  • Merge Sort
  • Merge Sort (Using Linked List)
  • Quick Sort
  • Selection Sort
  • Radix Sort
  • Shell Sort

2) Minimum Spanning Tree (Greedy Algorithms)

  • Prim's Algorithm
  • Kruskal's Algorithm

3) Shortest Path (Dynamic Programming)

  • Dijkstra's Algorithm - Single Source
  • Bellman Ford Algorithm - All Pairs
  • Floyd Warshall Algorithm - All Pairs
  • Johnson's Algorithm - All Pairs

4) 2 SAT Problem

  • Papadamitriou's Algorithm (Randomized Algorithm)
  • Kosaraju's Algorithm

5) Travelling Salesman Problem (Hamiltonian Path)

  • Greedy Heuristic
  • Dynamic Programming

6) Dynamic Programming Applications

  • Knapsack Algorithm (Using Recursion And Memoization - For Big Knapsacks)
  • Knapsack Algorithm (Using Iterative Approach - For Small Knapsacks)
  • Longest Common Subsequence Algorithm
  • Longest Common Substring Algorithm
  • Maximum Weight Independent Set Algorithm