アルゴリズム
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/10/08 13:49 UTC 版)
例
この節は検証可能な参考文献や出典が全く示されていないか、不十分です。(2021年7月) |
簡単なアルゴリズムの例として、(整列されていない)有限長の数列(リスト)に含まれる(大きさが一定値以下の整数の)最大の数を見つけ出すアルゴリズムを考える。ここでは、リストに含まれる全ての数を調べる必要があるが、一度に調べらることができるのは1つだけであるとする。ここから得られるアルゴリズムを、日本語で記述すると次のようになる。
概念的記述
- 最初の要素(数)が最大と仮定する。
- 残りのリスト上の数を順に見ていき、最大の数よりも大きい数が見つかったら、それを新たな最大として記憶する。
- 最後に記憶した数がそのリストでの最大の数であり、これで処理が完了する。
次に、プログラミング言語的にやや形式的に記述すると、次のような擬似コードになる(「←」は代入を表し、「return」はその後に記された値を返してアルゴリズムが終了することを意味する)。
擬似形式的記述
入力: 空でない数リスト L、出力: リスト L 内の最大(largest)の数。
algorithm 最大値を求める is
largest ← L0
for each item ∈ リスト L≧1 do
if largest < item then
largest ← item
end
end
return largest
end
注釈
出典
- ^ ユークリッド『原論』第 7 巻「数論」、命題 1〜3。
- ^ Erik Gregersen: “Britannica Encyclopedia - Algorithm: Definition, Types, & Facts” (英語). 2023年1月14日閲覧。
- ^ Yuri Gurevich「Sequential Abstract State Machines Capture Sequential Algorithms」ACM Transactions on Computational Logic、第1巻、no 1 (2000年7月)、pages 77–111
- ^ a b c d クリーネ, ステフェン (1952年(初版)). Introduction to Metamathematics (第10版 1991年 ed.). ノースホーランド出版
- ^ クヌース, ドナルド (1997年). Fundamental Algorithms, Third Edition. 米国マサチューセッツ州リーディング: アジソン・ウェスレイ
- ^ a b ミンスキー, マービン (1967年). Computation: Finite and Infinite Machines (初版 ed.). プレンティスホール、米国ニュージャージー州
- ^ Sipser, Michael (2006年). Introduction to the Theory of Computation. PWS出版社
- ^ Kowalski, Robert (1979年). “Algorithm=Logic+Control”. Communications of the ACM (ACM Press) 22 (7): 424–436. doi:10.1145/359131.359136. ISSN 0001-0782.
- ^ a b Burgin, M. Super-recursive algorithms, Monographs in computer science, Springer, 2005. ISBN 0387955690
- ^ 米国特許商標庁 (2006), 2106.02 **>Mathematical Algorithms< - 2100 Patentability, Manual of Patent Examining Procedure (MPEP).
- ^ 著作権なるほど質問箱 - 文化庁
- ^ 基本情報技術者 平成24年春期 午前問78 - 基本情報技術者試験ドットコム
アルゴリズムと同じ種類の言葉
- アルゴリズムのページへのリンク