Algorithm: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Pat Palmer
(→‎Introduction: working on the weird 2nd paragraph)
imported>Pat Palmer
(linking to a reference for Al-Khwarizmi)
Line 1: Line 1:
{{subpages}}
{{subpages}}


An '''algorithm''' is a sequence of steps for one particular method of solving a problem, similar to the instructions of a recipe when cooking.  The word is derived from the name of [[al-Khwarizmi]], a mathematician active in Baghdad in the 9th century CE.   
An '''algorithm''' is a sequence of steps for one particular method of solving a problem, similar to the instructions of a recipe when cooking.  The word is derived from the name of [[al-Khwarizmi]], a Persian mathematician who was a librarian in Baghdad in the 9th century CE<ref>BBC online: <span class="newtab">[https://www.bbc.com/future/article/20201204-lost-islamic-library-maths How modern mathematics emerged from a lost Islamic library]<span>, last access 2/10/2021</ref>.   


==Introduction==
==Introduction==

Revision as of 07:41, 10 February 2021

This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

An algorithm is a sequence of steps for one particular method of solving a problem, similar to the instructions of a recipe when cooking. The word is derived from the name of al-Khwarizmi, a Persian mathematician who was a librarian in Baghdad in the 9th century CE[1].

Introduction

An algorithm consists of the steps to follow in solving a problem. When encoded in computer programs, algorithms operate on data values, preferably data maintained in a consistent data structure. Thus an algorithm is the recipe, while the data structure is the well-stored ingredients on which the recipe is designed to operate.

Nicklaus Wirth, the inventor of the programming language Pascal, titled one of his books "Algorithms + Data Structures = Programs" (ISBN 0130224189) to indicate the complementary nature of algorithms and data structures, and their centrality to computing.

Algorithms are usually expressed independently of the programming language, typically in terms of a brief, informal list of commands called pseudocode, or diagrammatically in the form of a flowchart.

Examples of different categories of algorithms used in computer programming include:

  • Bounding limit
  • Compression
  • Conversion
  • Encryption
  • Fourier transform
  • Geometric
  • Graphic
  • Numeric
  • Probabilistic
  • Searching
  • Sorting
  • Text string

Basic algorithm designs

There are several general methods for designing algorithms. Some of the most common are

Some well known algorithms