## Short Course on Algorithms

1. ​ Introduction to Python / C / C++ / Java

• Asymptotic Analysis

• Worst, Average and Best Cases

• Space Complexity

2. Data Structures in Brief

• Arrays​

• Stacks

• Queue

• Lists and Dictionaries

• Trees

• Graphs

3. Recursion

• Introduction​

• Applications

• Solving Recurrence Relations

4. Searching and Sorting

• Linear Search

• Binary Search

• Selection Sort

• Bubble Sort

• Insertion Sort

• Merge Sort

• Heap Sort

• Quick Sort

• Miscellaneous Problems ​

• Kruskal’s Minimum Spanning Tree Algorithm

• Huffman Coding

• Prim’s Minimum Spanning Tree Algorithm

• Dijkstra’s Shortest Path Algorithm

• Job Sequencing Problem

• Knapsack Problem

• Optimal Merge Patten

• Fibonacci Series

• Longest Common Subsequence

• Matrix Chain Multiplication

• 0/1 Knapsack

• Sum of subsets

• All pair shortest Path problem

• Travelling Salesman Problem

• Multistage Graph

• Anagram Problems

• Palindrome Problems

• m Coloring Problem

• Hamiltonian Cycle

5. Divide and Conquer

• Finding maximum and minimum element in an array​

• Power of an element

• Binary Search

• Quick Sort

• Merge Sort

• Strassen's Matrix Multiplication

6. Graph Algorithms

• Graph and its representations

• Breadth First Traversal and Depth First Traversal for a Graph​​

• Minimum Spanning Tree

• Prim’s Minimum Spanning Tree

• Kruskal’s Minimum Spanning Tree Algorithm

• Applications

• Shortest Path

• Dijkstra’s shortest path algorithm

• Bellman–Ford Algorithm

• Floyd Warshall Algorithm

• Connectivity​

• Connectivity in a directed graph

• Articulation Points (or Cut Vertices) in a Graph

• Biconnected graph

• Bridges in a graph

• Eulerian path and circuit

• Hard Problems:

• Graph Coloring (Introduction and Applications)

• Travelling Salesman Problem (Naive and Dynamic Programming)

• Travelling Salesman Problem (Approximate using MST)

• Hamiltonian Cycle

• Vertex Cover Problem (Introduction and Approximate Algorithm)

• K Centers Problem (Greedy Approximate Algorithm)

• Maximum Flow:

• Ford-Fulkerson Algorithm for Maximum Flow Problem

• Miscellaneous Problems

7. Branch and Bound

• Introduction with 0/1 Knapsack

• 8 puzzle Problem

• Job Assignment Problem

• N Queen Problem

• Traveling Salesman Problem

8. Miscellaneous Algorithms