アルゴリズム
著作権の観点では、日本において著作権法10条3項にて明示的にアルゴリズムが同法の保護対象外であることが定められている。ただしアルゴリズムを記した文書や、アルゴリズムを実装したプログラムは著作物として保護対象となる(文書やプログラムを通して「アルゴリズムが保護」されるわけではない。つまりこの文章は、アルゴリズムについて書いてあるわけではない)。
記録に残る最古のアルゴリズムは、エウクレイデスの原論のものである。その中でも、二つの整数の最大公約数を求めるユークリッドの互除法は、典型的なアルゴリズムとして知られている。
「アルゴリズム」という名称は、現在のイラクのバグダードにおける9世紀の数学者アル=フワーリズミーの名前から来ているといわれている。彼がインド数学を紹介した著作『インドの数の計算法』(825年)が、12世紀にチェスターのロバート(あるいはバースのアデラード)によってラテン語に翻訳され、『algoritmi de numero Indorum アルゴリトミ・デ・ヌーメロ・インドルム』(直訳すると「インドの数におけるアルゴリトミ」)という題で、以後500年間にわたってヨーロッパ各国の大学で数学の主要な教科書として用いられた。この書は、冒頭に「algoritmi dicti(アル・フワリズミーに曰く)」という一節があるので『algoritmi()』と呼ばれていた。
1920〜30年代、計算可能性のための数学モデル(計算モデル)がいくつも提案された(チューリングマシン、帰納的関数、ラムダ計算など)。後にこれらの定義はすべて同等であることがわかり、それらにより同値な概念を「計算可能」とすることが提案された(チャーチ=チューリングのテーゼ、提案者はスティーヴン・コール・クリーネ。なお、チューリングのほうを先とする専門家もいる)。したがって、現在では「これらによって『計算可能なもの』を計算する手続き」をアルゴリズムと呼ぶ。
アルゴリズムには様々な分類方法があり、それぞれに利点がある。