COURSE OBJECTIVES

  • Reproduce design of algorithms using different algorithms design techniques i.e. Brute Force, Divide & Conquer, Dynamic Programming, Greedy Algorithms & Backtracking, Branch & Bound.
  • Analyze the time and space complexity of different algorithms by using standard analysis techniques
  • Implement the algorithms, compare the implementations empirically.

COURSE LEARNING OUTCOMES (CLO)

CLO: 1. Reproduce design of algorithms using different algorithms design techniques
CLO: 2. Analyze the time and space complexity of different algorithms
CLO: 3. Implement the algorithms, compare the implementations empirically

COURSE CONTENTS

  1. Introduction to Algorithms and its applications,Time Complexity of an algorithm
  2. Asymptotic notation of an algorithm. Big Oh (O) and Big theta etc,Asymptotic Notation with Examples
  3. Analyzing Time Complexity of an Algorithm, Analysis of Recursive algorithm
  4. Fibnoci Sequence and its Running time, Brute Force and Selection sort algorithm
  5. Bubble Sort Algorithm and its time complexity, Brute-force String matching algorithm and its complexity
  6. Travelling Salesman Problem and Knapsack Problem, BFS and DFS traversal of Graphs
  7. Insertion Sort and Revision of Topics, Divide and Conquer Approach (Quick Sort)
  8. Quicksort and its complexity, Revision of Topics
  9. Decrease and Conquer Approach , Merge Sort and its complexity