Course Overview: Introduction to fundamental techniques for designing and analyzing algorithms, including asymptotic analysis; divide-and-conquer algorithms and recurrences; greedy algorithms; data structures; dynamic programming; graph algorithms; and randomized algorithms. Required textbook: Kleinberg and Tardos, Algorithm Design, 2005.
ISO 9001:2015 Certified Institute) Informal Definition: An Algorithm is any well-defined computational procedure that takes some value or set of values as Input and produces a set of values or some value as output. Thus algorithm is a sequence of computational steps that transforms the i/p into the o/p.
Graphic representation called flowchart: This method will work well when the algorithm is small& simple. Pseudo-code Method: In this method, we should typically describe algorithms as program, which resembles language like Pascal & algol. Comments begin with // and continue until the end of line.
This technique establishes lower bounds by creating an input instance, based on the performance of the algorithm, which guarantees that the algorithm must do a determined amount of work on this input in order to be correct for this input. This amount of work then gives a lower bound for the worst-case complexity of the algorithm.