Category: Design & Analysis of Algorithms

Algorithmic Problem Solving

Understanding the problem Deciding on: Exact vs. approximate problem solving Appropriate data structure Design of algorithm Proving correctness Analyzing an algorithm Time efficiency Space efficiency Coding an alogrithm

Introduction to Algorithm

An algorithm is a sequence of unambiguous instructions for solving a computational problem, i.e., for obtaining a required output for any legitimate input in a finite amount of time. More precisely, an algorithm is a method or process to solve a problem satisfying the following properties: Finiteness: Terminates after a finite number of steps. Definiteness: Each step must be rigorously and unambiguously specified. Input: Valid inputs must be clearly specified. Output: can be proved to produce the correct output given a valid input. Effectiveness: Steps must be sufficiently simple and basic.