アルゴリズムとは、一般的には数学やプログラミングにおいての特定の問題を解いたり課題を解決する為の方法や手順のことです。アルゴリズムをプログラミング言語を用いてコンピューターに指示をする為の文章をプログラムといい、アルゴリズムはプリグラムを作成する為の基礎となります。一つの問題に複数のアルゴリズムがある場合が多く、文字をアルファベットの順番に並べ替える為にも、複数のアルゴリズムが考えられます。回数、時間などによるプログラムのサイズはアルゴリズム次第であり、また汎用性も変わってくるため、その中でより効率的だと思われたものをプログラムに採用します。アルゴリズムは厳密に定義されなければならず、どのような条件や手順であっても、それぞれの方法に対しての適切な対応が重要になり、計算可能なものでなければなりません。アルゴリズムはフローチャートを用いて図式化され、多くのアルゴリズムはコンピュータープログラムとして実装されることを意図していますが、電気回路や機械で実装されるなど、実装手段は多くあります。