Algorithms are essential in solving large scale problems and there may exist one or more than one algorithm for a specific problem. It is always desirous to reduce the time and maximize the performance while solving a problem and as such, we need to analyze these algorithms for correctness and efficiency in terms of time and space.The “design” part of this course shall lay more emphasis on the key aspects in the development of new algorithms and the “analysis” part shall help you to better understand what resources an algorithm may use to reach a solution.We have structured this course in four units within which the topics that shall be broadly covered include: Introduction to algorithm, asymptotic complexity, sorting and searching using divide and conquer, greedy method, dynamic programming, backtracking, branch and bound. Lower bound theory and approximation algorithms
Overview
Syllabus
WEEK 101 - Introduction to Algorithms02 - Analysis of algorithms03 - Growth of functions04 - Asymptotic notations
WEEK 205 - Operations and properties of asymptotic notations06 - Recurrences (Substitution method)07 - Iteration method & Recursion trees08 - Solving Recurrences (Decreasing Functions)
WEEK 309 - Solving recurrences (Dividing functions)10 - The Master Method11 - Divide and Conquer: Binary Search12 - MAX MIN.
WEEK 413 - Quick Sort14 - Merge Sort15 - Greedy Method: Job sequencing16 - Fractional Knapsack method
WEEK 517 - Huffman codes18 - Optimal storage on tapes19 - Dynamic programming (General method)20 - Multistage graphs
WEEK 621 - Longest common subsequences22 - Dynamic Programming (All Pairs Shortest Paths)23 - Backtracking (General methods)24 - N-Queens Problem
WEEK 725 - Sum of subsets26 - 0/1 Knapsack problem27 - Branch and Bound (General method)28 - Least Cost Branch and Bound
WEEK 829 - Traveling salesperson problem Using LCBB30 - Lower bound theory through reductions31 - P, NP, NP hard and NP complete problems _ basic concepts.32 – Approximate Algorithms
WEEK 933 – The set veering problem34 - The traveling salesman problem35 - The Vertex Cover Problem36 - The subset sum problem
WEEK 1037 - Parallel Algorithms, Parallelism_ PRAM and other Models
WEEK 205 - Operations and properties of asymptotic notations06 - Recurrences (Substitution method)07 - Iteration method & Recursion trees08 - Solving Recurrences (Decreasing Functions)
WEEK 309 - Solving recurrences (Dividing functions)10 - The Master Method11 - Divide and Conquer: Binary Search12 - MAX MIN.
WEEK 413 - Quick Sort14 - Merge Sort15 - Greedy Method: Job sequencing16 - Fractional Knapsack method
WEEK 517 - Huffman codes18 - Optimal storage on tapes19 - Dynamic programming (General method)20 - Multistage graphs
WEEK 621 - Longest common subsequences22 - Dynamic Programming (All Pairs Shortest Paths)23 - Backtracking (General methods)24 - N-Queens Problem
WEEK 725 - Sum of subsets26 - 0/1 Knapsack problem27 - Branch and Bound (General method)28 - Least Cost Branch and Bound
WEEK 829 - Traveling salesperson problem Using LCBB30 - Lower bound theory through reductions31 - P, NP, NP hard and NP complete problems _ basic concepts.32 – Approximate Algorithms
WEEK 933 – The set veering problem34 - The traveling salesman problem35 - The Vertex Cover Problem36 - The subset sum problem
WEEK 1037 - Parallel Algorithms, Parallelism_ PRAM and other Models
Taught by
Dr. Faheem Syeed Masoodi