探索再帰関数, bit演算

再帰関数・bit演算を用いた全探索とは

再帰関数やbitを上手く用いると、それぞれに対して「使うか」「使わないか」の2通りがあるような、\(2^n\)通りの場合を全探索することができます。
つまり、集合\(\{0,1,2,3,& ...

探索基本

ループによる全探索とは

特定の条件を満たすようなものを発見する方法を探索アルゴリズムと言います。全探索は全ての場合を確認して、条件を満たすものが存在するかを判定します。

全探索アルゴリズムの中でもループを使ったものは基本とな ...

探索入門

線形探索とは

線形探索とは、入力を数値\(n\)とした時に、それがあるリストや配列に入っているかどうかを判定するためのアルゴリズムです。

1つのループ文を使うことでプログラムすることができます。

アルゴリズム\(i\) ...

アルゴリズム概要入門

計算量同士の比較

計算量を見積もったところで、それの大きさが分からないと意味がありません。例えば、\(O(n^{100})\)と\(O(2^n)\)のどちらが大きいのでしょうか?

そこで、計算量同士の比較ができるようにまとめ ...

アルゴリズム概要入門

計算量は3つの場合を考える

「漸近記法」により数式の大体の大きさを見積もる方法を学びました。

しかし、アルゴリズムの計算量というものは、毎回常に同じ数式になるわけではありません。入力の大きさが同じであっても、形が違うだけで計 ...

アルゴリズム概要入門

なぜアルゴリズムを解析する必要があるのか

プログラムを書く際は、読みやすく・保守が容易で・使いやすいものになるように注意しながら書く必要があります。なぜアルゴリズムの計算量を見積もる必要があるのでしょうか。

その答えは単純で ...

アルゴリズム概要入門

アルゴリズムの効率

アルゴリズムの効率というのは、「計算量」と呼ばれる2つの指標によって評価することができます。

時間計算量 (time complexity)
領域計算量 (space complexity)

...

アルゴリズム概要入門

アルゴリズムの定義

広い意味でいえば、アルゴリズムは「問題解決のための手順」のことです。料理のレシピなどもアルゴリズムといえるでしょう。

狭い意味での、つまり数学やコンピュータサイエンスの分

その他

アルゴリズムの解説を体系的にまとめるという趣旨のもと、このサイトは開設されました。

プログラミング教育が必須になるというのにも関わらず、プログラミングと密接な関わりをもつアルゴリズムやデータ構造について、日本語で体系的に書 ...