Vyom World.com  . Let's Touch the Sky Together!  
. . . . . . .
VyomWorld.com Home
Free Magazines!
VyomLinks.com Home
JobsAssist.com Home
Vyom Network
Contact Us
 Jobs & Careers
Resume Submitter
Placement Papers
IT Companies Directory
Computer Jobs
Interview Questions
Online Exams
Vyom Career eMag.
Screensavers New!
SMS Jokes
 Source Codes Library
Source Codes Home
ASP Source Codes
C Source Codes
C++ Source Codes
COBOL Source Codes
Java Source Codes
Pascal Source Codes
Submit Source Codes
GATE an Overview
GATE Preparation
Study Materal
GRE an Overview
GRE Questions
GRE Preparation
GRE Universities
 TOEFL Preparation
TOEFL Resources
 GMAT Preparation
GMAT Resources
 MBA Preparation
MBA Resources
 Networking Concepts
Networking Concepts
 Testing Preparation
Testing Resources
Free Traffic Builder
Webmaster Articles
Web Hosting
Hardware Tutorial
1500 Free eBooks New!
 FREE Publications
Vyom Career eMag.
Get 9,000+ Interview Questions & Answers in an eBook.

  • 9,000+ Interview Questions
  • All Questions Answered
  • 5 FREE Bonuses
  • Free Upgrades

    Get it now!

    Post your Resume to 5800+ Companies

    Reliable Web Hosting

    Get 9,000+ Interview Questions with Answers in an eBook


    Analysis and Design of Algorithms


    1.2 Characteristics of an algorithm

    Let us try to present the scenario of a man brushing his own teeth(natural denture) as an algorithm as follows.

    Step 1. Take the brush

    Step 2. Apply the paste

    Step 3. Start brushing

    Step 4. Rinse

    Step 5. Wash

    Step 6. Stop

    If one goes through these 6 steps without being aware of the statement of the problem, he could possibly feel that this is the algorithm for cleaning a toilet. This is because of several ambiguities while comprehending every step. The step 1 may imply tooth brush, paint brush, toilet brush etc. Such an ambiguity doesnít an instruction an algorithmic step. Thus every step should be made unambiguous. An unambiguous step is called definite instruction. Even if the step 2 is rewritten as apply the tooth paste, to eliminate ambiguities yet the conflicts such as, where to apply the tooth paste and where is the source of the tooth paste, need to be resolved. Hence, the act of applying the toothpaste is not mentioned. Although unambiguous, such unrealizable steps canít be included as algorithmic instruction as they are not effective.

    The definiteness and effectiveness of an instruction implies the successful termination of that instruction. However the above two may not be sufficient to guarantee the termination of the algorithm. Therefore, while designing an algorithm care should be taken to provide a proper termination for algorithm.

    Thus, every algorithm should have the following five characteristic feature

      1. Input
      2. Output
      3. Definiteness
      4. Effectiveness
      5. Termination

    Therefore, an algorithm can be defined as a sequence of definite and effective instructions, which terminates with the production of correct output from the given input.

    In other words, viewed little more formally, an algorithm is a step by step formalization of a mapping function to map input set onto an output set.

    The problem of writing down the correct algorithm for the above problem of brushing the teeth is left to the reader.

    For the purpose of clarity in understanding, let us consider the following examples.

    Example 1:

    Problem : finding the largest value among n>=1 numbers.

    Input : the value of n and n numbers

    Output : the largest value

    Steps :

      1. Let the value of the first be the largest value denoted by BIG
      2. Let R denote the number of remaining numbers. R=n-1
      3. If R != 0 then it is implied that the list is still not exhausted. Therefore look the next number called NEW.
      4. Now R becomes R-1
      5. If NEW is greater than BIG then replace BIG by the value of NEW
      6. Repeat steps 3 to 5 until R becomes zero.
      7. Print BIG
      8. Stop

    End of algorithm

    Example 2: quadratic equation

    Example 3: listing all prime numbers between two limits n1 and n2.


    1.2.1 Algorithmic Notations

    In this section we present the pseudocode that we use through out the book to describe algorithms. The pseudo code used resembles PASCAL and C language control structures. Hence, it is expected that the reader be aware of PASCAL/C. Even otherwise atleast now it is required that the reader should know preferably C to practically test the algorithm in this course work.

    However, for the sake of completion we present the commonly employed control constructs present in the algorithms.

    1. A conditional statement has the following form
    2. If < condition> then

      Block 1


      Block 2

      If end.

      This pseudocode executes block1 if the condition is true otherwise block2 is executed.

    3. The two types of loop structures are counter based and conditional based and they are as follows
      • For variable = value1 to value2 do

    For end

    Here the block is executed for all the values of the variable from value 1 to value 2.

      • There are two types of conditional looping, while type and repeat type.

    While (condition) do


    While end.

    Here block gets executed as long as the condition is true.

      • Repeat


    Here block is executed as long as condition is false. It may be observed that the block is executed atleast once in repeat type.

    Exercise 1;

    Devise the algorithm for the following and verify whether they satisfy all the features.

    1. An algorithm that inputs three numbers and outputs them in ascending order.
    2. To test whether the three numbers represent the sides of a right angle triangle.
    3. To test whether a given point p(x,y) lies on x-axis or y-axis or in I/II/III/IV quadrant.
    4. To compute the area of a circle of a given circumference
    5. To locate a specific word in a dictionary.

    Study Notes Home | Next Section>>


    Discussion Center



    Feedback/ Suggestion

    Yahoo Groups

    Sirfdosti Groups

    Contact Us


    Recently Updated: New Placement Papers added.
    Vyom Network : Web Hosting | Dedicated Server | Free SMS, GRE, GMAT, MBA | Online Exams | Freshers Jobs | Software Downloads | Programming & Source Codes | GRE Preparation | Jobs, Discussions | Software Listing | Free eBooks | Free eBooks | Free Business Info | Interview Questions | Free Tutorials | International Business Information | IAS Preparation | Jokes, Songs, Fun | Free Classifieds | Free Recipes | FAQs | Free Downloads | Bangalore Info | Tech Solutions | Project Outsourcing, Web Hosting | GATE Preparation | MBA Preparation | SAP Info | Excellent Mobiles | Software Testing | Interview Questions | Freshers Jobs | Server Insiders | File Extension Directory

    Copyright ©2003-2019 Vyom Technosoft Pvt. Ltd., All Rights Reserved. Read our Privacy Policy