Table of Contents
As we know that, algorithms provide us the procedure to solve any problem. Below are some characteristics that define a good algorithm:
- Independent – Any algorithm developed should be written in such a way that it is easily understood and can be implemented on any programming language.This is called language independence and a good algorithm is always independent of the programming language as it will provide the same output despite of the language on which it is implemented on.
- Input – When the user is asked to input something from his side that should be easily understandable as what the input is (ie. character or integer or a decimal number). If there is a program that does not need any user input like pattern programs then such programs should directly produce output without prompting/asking the user to input something.
- Output – After taking some inputs from the end-user algorithm should produce an output based on the provided input.The output to be produced should be well defined in the algorithm.
- Finiteness -Any algorithm must be designed in such a way that it should produce output in a finite amount of time. It should not run for infinite time.The output should be produced within a few seconds.
- Unambiguous – The steps defined in an algorithm should be very clear and unambiguous. As it should convey clear meaning in the steps and should not make any confusion to the one who is reading it.
- Feasible – The algorithm developed should be applicable with the current technology and available resources. It should be workable with the present technology and should not contain any future technology reference.
Every algorithm developed today is measured on the above-defined matrices and it should be considered while designing a new algorithm.
What did you think?
Similar Reads
-
Randomized Version of Quick Sort Explanations
The Randomized Version of the QuickSort algorithm is a variation of the normal QuickSort algorithm. In Randomized QuickSort, the pivot… -
Pseudocode of QuickSort with Its analysis
QuickSort algorithm uses the divide and conquers method to sort an Array. It contains a function that is used to… -
Pseudocode of Insertion sort with Time Complexity Analysis
Insertion Sort is a simple sorting algorithm that picks an element from the unsorted position and inserts it into its… -
Explain Recursion Tree in Algorithm with Example
A recursion tree visually represents the recursive calls made in a recursive algorithm. It helps to illustrate how the recursive… -
Divide and Conquer Recurrences with Examples
Divide and Conquer recurrences are mathematical equations. It describes the time complexity of divide-and-conquer algorithms. Divide and conquer is a… -
Optimality and Reduction Of Algorithm with Examples
Optimality and reduction are essential concepts in the design and analysis of an algorithm. They both play a crucial role… -
Complexity of an Algorithm: Time and Space Complexity
As we know that a by Designing an Algorithm, a problem can be solved. To perform some tasks based on… -
What is an algorithm? Explaination with an example
Algorithms can be defined as the set of instructions structured to solve a problem. It is a step-by-step procedure to… -
What do you mean by an algorithm? Explain it with an example.
Algorithms can be defined as the set of instructions structuredto solve a problem. It is a step-by-step procedure to solve… -
DAA Unit 5: Selected Topic Previous year questions
What do you mean by String matching ? Also explain string, sub string and proper sub string.Explain Knuth-Morris-Pratt Algorithm and…