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