Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Algorithms By Mr. Venkatadri. M. Two Phases of Programming A typical programming task can be divided into two phases: Problem solving.

Similar presentations


Presentation on theme: "Introduction to Algorithms By Mr. Venkatadri. M. Two Phases of Programming A typical programming task can be divided into two phases: Problem solving."— Presentation transcript:

1 Introduction to Algorithms By Mr. Venkatadri. M

2 Two Phases of Programming A typical programming task can be divided into two phases: Problem solving phase – produce an ordered sequence of steps that describe solution of problem – this sequence of steps is called an algorithm Implementation phase – implement the program in some programming language

3 3 Understand the problem Decide on computational means Exact vs approximate solution Data structures Algorithm design technique Design an algorithm Prove correctness Analyze the algorithm Code the algorithm

4 Algorithms A sequence of unambiguous instructions for solving a problem, i.e. for obtaining the required output for any legitimate input in a finite amount of time

5 Algorithm Characteristics Input : Zero or more quantities or externally supplied. Output: At least one quantity is produced. Definiteness: Each instruction is clear and unambiguous. Finiteness: The algorithm should terminate after a finite number of steps. Effectiveness:

6 How to Represent an Algorithm Algorithm can be represented in 3 ways. 1.In Natural Language (English etc…) 2.Pseudo Code. 3.Real Programming Language. Popular representation is Pseudo Code.

7 Pseudo Code Convention for Algorithm Pseudo code consists of keywords and English- like phrases which specify the flow control. Pseudo code representation highlights the Computational aspects by abstracting the implementation details.

8 Sum of ‘n’ numbers Algorithm in Natural Language Step 1: Select n number. Step 2: Set sum S to Zero. Step 3: Repeat from first number to n th number i.e S=S+A[i]. Step 4: Return sum (S). Algorithm in Pseudo Code. 1.S<-0 2.for i<-1 to n 3.S<-S+A[i] 4.return S.

9 gcd(m,n) while n ≠0 do r ← m mod n m ← n n ← r return m 1.t ← min (m,n) 2. if m % t = 0 goto 3, else goto 4 3. if n % t = 0 return t, else goto 4 4. t ← t - 1 5. goto 2 Algorithm-1 Algorithm-2

10 General approaches to algorithm design  Divide and conquer  Greedy method  Dynamic Programming  Basic Search and Traversal Technique  Graph Theory  Linear Programming  Approximation Algorithm  NP Problem

11 Some Applications Study problems these techniques can be applied to – sorting – data retrieval – network routing – Games – etc

12 Exercises Write an algorithm for product of two matrix Design an algorithm for finding square of given number Design an algorithm to find factorial of a number


Download ppt "Introduction to Algorithms By Mr. Venkatadri. M. Two Phases of Programming A typical programming task can be divided into two phases: Problem solving."

Similar presentations


Ads by Google