Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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