Download presentation
Presentation is loading. Please wait.
Published byAlban Summers Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.