Introduction to algorithn class 1
Upcoming SlideShare
Loading in...5
×
 
  • 274 views

 

Statistics

Views

Total Views
274
Slideshare-icon Views on SlideShare
274
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NoDerivs LicenseCC Attribution-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction to algorithn class 1 Introduction to algorithn class 1 Presentation Transcript

    • Introduction to Algorithms By Hanumat Sastry. G
    • 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
    • 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 3
    • 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
    • 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:
    • 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.
    • Pseudo Code Convention for Algorithm • Pseudo code consists of keywords and Englishlike phrases which specify the flow control. • Pseudo code representation highlights the Computational aspects by abstracting the implementation details.
    • 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 nth number i.e S=S+A[i]. Step 4: Return sum (S). Algorithm in Pseudo Code. 1. 2. 3. 4. S<-0 for i<-1 to n S<-S+A[i] return S.
    • gcd(m,n) Algorithm-1 while n ≠0 do r ← m mod n m←n n ←r return m Algorithm-2 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
    • 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
    • Some Applications • Study problems these techniques can be applied to – sorting – data retrieval – network routing – Games – etc
    • Computation Models • Turing Machine Model • Random Access Machine (RAM) Model.
    • Analysis of Algorithms • The present day algorithms are based on the RAM (Random Access Machine) model. • In RAM model, instructions execute one after another with no, concurrent operations.
    • Analysis of Algorithms • Worst Case Complexity • Average Case Complexity • Best Case Complexity
    • Worst Case Complexity • The Worst Case Complexity of an algorithm is the function defined by the maximum number of steps taken on any instance size n.
    • Best Case Complexity • The best case complexity of the algorithm is the function defined by the minimum number of steps taken on any instance of size n.
    • Average Case Complexity • The average case complexity of the algorithm is the function defined by an average number of steps taken on an instance of size n.
    • Graphical representation of Worst Case, Average Case and Best Case Complexity
    • 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