KEMBAR78
Algorithms 1 | PPT
PRESENTED TO :-
•




    Madam Huma

                      1
Presented By:-

 Muhammad Uzair Rasheed
            2009-CPE-03
     UCE&T BZU MULTAN




                      2
The Objective of Today’s Presentation

To become familiar with the concept of
algorithms:

   – What they are?
   – What is their use?
   – What do they consist of?
   – What are the techniques used for
     representing them?
   – How do we can analyze them?
                                         3
al.go.rithm
    steps
sequence
       Sequence of steps
that can be taken to solve a given problem




                                         4
Solving Problems (1)
When faced with a problem:
  1. We first clearly define the problem
  2. Think of possible solutions
  3. Select the one that we think is the best
     under the prevailing circumstances
  4. And then apply that solution
  5. If the solution woks as desired, fine; else
     we go back to step 2                     5
Solving Problems (2)
• It is quite common to first solve a problem
  for a particular case
• Then for another
• And, possibly another
• And watch for patterns and trends that
  emerge
• And to use the knowledge form those
  patterns and trends in coming up with a
  general solution                          6
Solving Problems (3)
• It helps if we have experienced that problem
  or similar ones before

• Generally, there are many ways of solving a
  given problem; the best problem-solvers
  come-up with the most appropriate solution
  more often than not!

• The process that can be used to solve a
  problem is termed as the “algorithm”      7
Examples
•   Addition
•   Conversion from decimal to binary
•   The process of boiling an egg
•   The process of mailing a letter
•   Sorting
•   Searching



                                        8
Let us write down the algorithm for
  a problem that is familiar to us

  Converting a decimal number into binary




                                            9
Convert 75 to Binary
  2     75   remainder
  2     37      1
  2     18      1
  2     9       0
  2     4       1
  2     2       0
  2     1       0
        0       1


  1001011                10
Algorithm for Decimal-to-Binary Conversion

1. Write the decimal number

2. Divide by 2; write quotient and remainder

3. Repeat step 2 on the quotient; keep on
   repeating until the quotient becomes zero

4. Write all remainder digits in the reverse order
   (last remainder first) to form the final result
                                               11
Three Requirements:
1. Sequence is:
   a. Precise
   b. Consists of a limited number of steps


2. Each step is:
   a. Unambiguous
   b. Executable


3. The sequence of steps terminates in
   the form of a solution                     12
Why Algorithms are Useful?
• Once we find an algorithm for solving a
  problem, we do not need to re-discover it the
  next time we are faced with that problem

• Once an algorithm is known, the task of
  solving the problem reduces to following
  (almost blindly and without thinking) the
  instructions precisely

• All the knowledge required for solving the
  problem is present in the algorithm        13
Why Write an Algorithm Down?
• For your own use in the future, so that you
  don’t have spend the time for rethinking it

• Written form is easier to modify and improve

• Makes it easy when explaining the process
  to others


                                            14
Analysis of Algorithms
• Analysis in the context of algorithms is concerned with
  predicting the resources that re requires:
  –   Computational time
  –   Memory
  –   Bandwidth
  –   Logic functions

• However, Time – generally measured in terms of the
  number of steps required to execute an algorithm - is
  the resource of most interest

• By analyzing several candidate algorithms, the most
  efficient one(s) can be identified              15
A Selection of Algorithmic
        Application Areas
•   Search
•   Sort
•   Cryptography
•   Numeric
•   Graphical
•   Quantum computing


                                  16
We’ll now talk about the various
ways of representing algorithms.

But, before we do that please allow
me to say a few words about …




                                      17
Syntax & Semantics
An algo. is “correct” if its: WARNINGS:
  – Semantics are correct
                              1. An algo. can be
  – Syntax is correct         syntactically correct,
                              yet semantically
Semantics:                    incorrect – very
 The concept embedded in dangerous situation!
  an algorithm (the soul!)
                             2. Syntactic
Syntax:                      correctness is easier
 The actual representation to check as
 of an algorithm (the body!) compared with 18
Now onto Algorithm Representation
• We have said enough about algorithms – their
  definition, their types, etc.

• But, how do we actually represent them?

• Generally, SW developers represent them in
  one of three forms:
  – Pseudo code
  – Flowcharts
  – Actual code                             19
HOW TO WRITE AN ALGORITHM

• Part-1:-
• NAME OF ALGORITHM(NAME OF
  VARIABLES USED)
• BRIEF DISCRIPTION ABOUT VARIABLES
  USED IN SIMPLE ENGLISH
• Part-2:-
• Series of steps to solve a problem


                                       20
OPERATIONS THAT CAN BE PERFORMED

• TRAVERSING

• INSERTION

• DELETION

• SORTING

• MERGING
                                      21
Types of sorting
• Bubble sorting.

• Selection sorting.

• Insertion sorting.

• Merge sorting.
                             22
Method of Bubble sorting
• To sort data in an array of n elements,
  n-1 iterations are required.



• There are following steps explain
  sorting of data in ascending order using
  bubble sort method:
                                            23
• In first Iteration, the largest value
  moves to the last position in the array.
• In the second iteration the above
  process is repeated and the second
  largest value moves to the second last
  position and so on.
• In n-1 iteration, the data is arranged in
  ascending order.
                                              24

Algorithms 1

  • 1.
  • 2.
    Presented By:- MuhammadUzair Rasheed 2009-CPE-03 UCE&T BZU MULTAN 2
  • 3.
    The Objective ofToday’s Presentation To become familiar with the concept of algorithms: – What they are? – What is their use? – What do they consist of? – What are the techniques used for representing them? – How do we can analyze them? 3
  • 4.
    al.go.rithm steps sequence Sequence of steps that can be taken to solve a given problem 4
  • 5.
    Solving Problems (1) Whenfaced with a problem: 1. We first clearly define the problem 2. Think of possible solutions 3. Select the one that we think is the best under the prevailing circumstances 4. And then apply that solution 5. If the solution woks as desired, fine; else we go back to step 2 5
  • 6.
    Solving Problems (2) •It is quite common to first solve a problem for a particular case • Then for another • And, possibly another • And watch for patterns and trends that emerge • And to use the knowledge form those patterns and trends in coming up with a general solution 6
  • 7.
    Solving Problems (3) •It helps if we have experienced that problem or similar ones before • Generally, there are many ways of solving a given problem; the best problem-solvers come-up with the most appropriate solution more often than not! • The process that can be used to solve a problem is termed as the “algorithm” 7
  • 8.
    Examples • Addition • Conversion from decimal to binary • The process of boiling an egg • The process of mailing a letter • Sorting • Searching 8
  • 9.
    Let us writedown the algorithm for a problem that is familiar to us Converting a decimal number into binary 9
  • 10.
    Convert 75 toBinary 2 75 remainder 2 37 1 2 18 1 2 9 0 2 4 1 2 2 0 2 1 0 0 1 1001011 10
  • 11.
    Algorithm for Decimal-to-BinaryConversion 1. Write the decimal number 2. Divide by 2; write quotient and remainder 3. Repeat step 2 on the quotient; keep on repeating until the quotient becomes zero 4. Write all remainder digits in the reverse order (last remainder first) to form the final result 11
  • 12.
    Three Requirements: 1. Sequenceis: a. Precise b. Consists of a limited number of steps 2. Each step is: a. Unambiguous b. Executable 3. The sequence of steps terminates in the form of a solution 12
  • 13.
    Why Algorithms areUseful? • Once we find an algorithm for solving a problem, we do not need to re-discover it the next time we are faced with that problem • Once an algorithm is known, the task of solving the problem reduces to following (almost blindly and without thinking) the instructions precisely • All the knowledge required for solving the problem is present in the algorithm 13
  • 14.
    Why Write anAlgorithm Down? • For your own use in the future, so that you don’t have spend the time for rethinking it • Written form is easier to modify and improve • Makes it easy when explaining the process to others 14
  • 15.
    Analysis of Algorithms •Analysis in the context of algorithms is concerned with predicting the resources that re requires: – Computational time – Memory – Bandwidth – Logic functions • However, Time – generally measured in terms of the number of steps required to execute an algorithm - is the resource of most interest • By analyzing several candidate algorithms, the most efficient one(s) can be identified 15
  • 16.
    A Selection ofAlgorithmic Application Areas • Search • Sort • Cryptography • Numeric • Graphical • Quantum computing 16
  • 17.
    We’ll now talkabout the various ways of representing algorithms. But, before we do that please allow me to say a few words about … 17
  • 18.
    Syntax & Semantics Analgo. is “correct” if its: WARNINGS: – Semantics are correct 1. An algo. can be – Syntax is correct syntactically correct, yet semantically Semantics: incorrect – very The concept embedded in dangerous situation! an algorithm (the soul!) 2. Syntactic Syntax: correctness is easier The actual representation to check as of an algorithm (the body!) compared with 18
  • 19.
    Now onto AlgorithmRepresentation • We have said enough about algorithms – their definition, their types, etc. • But, how do we actually represent them? • Generally, SW developers represent them in one of three forms: – Pseudo code – Flowcharts – Actual code 19
  • 20.
    HOW TO WRITEAN ALGORITHM • Part-1:- • NAME OF ALGORITHM(NAME OF VARIABLES USED) • BRIEF DISCRIPTION ABOUT VARIABLES USED IN SIMPLE ENGLISH • Part-2:- • Series of steps to solve a problem 20
  • 21.
    OPERATIONS THAT CANBE PERFORMED • TRAVERSING • INSERTION • DELETION • SORTING • MERGING 21
  • 22.
    Types of sorting •Bubble sorting. • Selection sorting. • Insertion sorting. • Merge sorting. 22
  • 23.
    Method of Bubblesorting • To sort data in an array of n elements, n-1 iterations are required. • There are following steps explain sorting of data in ascending order using bubble sort method: 23
  • 24.
    • In firstIteration, the largest value moves to the last position in the array. • In the second iteration the above process is repeated and the second largest value moves to the second last position and so on. • In n-1 iteration, the data is arranged in ascending order. 24