Skip to content

Learning Path

  • Learn an object oriented programming language (intermediate level, upto oops concepts) (Java recommended)
  • Asymptotic notation
  • Array
    • Basic concepts like access, copy, memory management
    • Searching Algorithms
      • Linear Search
      • Binary Search
      • Jump Search
      • Interpolation Search
      • Exponential Search
    • Sorting Algorithms
      • Bubble Sort
      • Bucket Sort
      • Quick Sort
      • Insertion Sort
      • Selection Sort
      • Merge Sort
      • Pigeonhole Sort
      • Heap Sort
      • Shell Sort
      • Radix Sort
  • Math Operation
    • Bit Manipulation
  • Linked List
    • Single LL
    • Double LL
    • Circular LL
    • Doubly Circular LL
    • Header LL (GHLL)*
  • Stacks
    • Expression Parsing (prefix, postfix, infix)
  • Queue
    • Simple
    • Circular
    • Priority
    • Double Ended
  • Trees
    • Binary
    • Binary Search
    • AVL
    • B-Tree
    • Red Black *
    • N-ary *
    • Tries
    • Suffix *
    • Huffman *
    • Heaps
  • Graphs
    • Bipertite
    • Minimum Spanning Tree
  • Algorithms
    • Simple recursive
    • Backtracking
    • Divide and conquer
    • Greedy
    • Dynamic programming
    • Game Theory
    • Branch and bound
    • Brute force
    • Randomized