# Characteristics of An Algorithm

# Overview

In this tutorial, we will learn the characteristics of an Algorithm. The word algorithm comes from the Arabic word Al-Khowzmi, the Arabian inventor, and means recipe, method, technique, or procedure.

## What is an Algorithm?

An algorithm is a set of instructions or a step-by-step procedure for solving a problem or completing a specific task.

## Characteristics of An Algorithm

The characteristics of a good algorithm are as follows:

- Well-defined
- Unambiguous
- Finite
- Deterministic
- Feasible
- Efficient

## Well Defined

A good algorithm should have clear and well-defined inputs and outputs. It should be clear what information or data is required as input and what are the expected outputs.

## Unambiguous

Each algorithm step should be simple, clear, and unambiguous. The step instructions should be precise and easy to understand. Misinterpretation or misleading steps should be avoided during algorithm design. In real time, the algorithm would be converted into a software program during the software development phase by the software team. The software developers should have a clear understanding of the algorithm.

## Finite

An algorithm should have a finite number of steps. It should terminate after a finite number of iterations or steps, without falling into an infinite loop.

## Deterministic

An algorithm should be deterministic, which means that for a given input, it should always produce the same output.

## Efficient

A good algorithm should be efficient in terms of resources like time and space requirements.

## Feasible

An algorithm should be practical and feasible to implement in a real-world environment. For example, the algorithm should be technically feasible with current technology.

## See Also

## Algorithm vs Program

A computer program is a sequence of instructions written in a computer programming language to perform a specified task with the computer. Differences between an algorithm and a computer program can be found here:

https://www.testingdocs.com/questions/differences-between-an-algorithm-and-a-program/