100 万個のデータから欲しいデータを先頭から探そうとすると、末尾に目的のデータがあったら 100 万回の処理が走ってしまいます。ここで探索アルゴリズムを使うと効率的なデータ取得が可能です。今回は「バイナリサーチ」という考え方を紹介します。
Read More
CS に関する記事一覧
【一覧表あり】2の累乗の指数的爆発を解説【多重ループ処理に注意】
2 の累乗は「2^0 = 1 からはじまって、数を 2 倍にしていく」だけの単純な計算です。ですが、この 2^n はたびたび大きな問題になって解決できなくなってしまいます。今回は 2 の累乗数が引き起こす「指数的爆発」について説明します。
Read More
【再帰的プログラム】再帰・帰納の違いを解説【階乗0!が1の理由】
階乗 0! が 1 になる理由説明は困難ですが、階乗を再帰的に定義するときに「 0! は 1 じゃないといけない」と直感的にわかります。今回は「階乗の再帰的定義」と「再帰と帰納の違い」について解説します。
Read More
【公式】プログラミングでも使う再帰・漸化式の解き方【ハノイの塔】
プログラムでは「再帰処理」といって、同じ処理を何度も呼び出すことがあります。これは答えを導くために必要な「依存している値」も一緒に求める処理です。今回は「再帰」の基本的な考え方を「ハノイの塔」という問題で解説していきます。
Read More
【公式】組み合わせと順列の違い・見分け方【重複度を使う計算方法】
前回、置換・順列を解説しました。こちらは「順序を考える」並べ方でした。この置換・順列は「並べ方はどうでもよくて、パターンだけ知りたいよ〜」…なときは使えません。今回は「順序を考えない」並べ方である「組み合わせ」について解説します!
Read More
【階乗とは】順列と置換の基礎、計算方法をやさしく解説!【樹形図】
物を並べるとき「何パターンの並べ方が考えられるか?」を検討するのは重要です。また、全部を並べるのか・一部だけ選んで並べるのか...で話は違います。今回はアルゴリズムで頻出する「順列」を解説します!
Read More
【和の法則】植木算問題解説!モレとダブリがない数え方【積の法則】
物を普通に数えると、人間はしばしば数え間違いを起こします。しかし、数えたい物の性質・構造を理解して「数えるルール」を作れば間違いを防げます。今回は「植木算」と「和の法則・積の法則」を学び、初歩的な「物の数え方」について学習しましょう。
Read More
【基底】数学的帰納法とは?無数の主張を証明する方法を解説【帰納】
ループ処理を作るとき、インクリメントされていく 0 以上の整数を使った処理が常に「真」になるか?それを数式で証明することはできますか?今回、0 以上のすべての整数についての主張を作ることができる証明方法「数学的帰納法」について解説します。
Read More
【グラフ理論】ケーニヒスベルクの橋を解説!【パリティのチェック】
ケーニヒスベルグの橋という有名な一筆書きの問題があります。本当に一筆書きが可能か?「グラフ理論」というパリティのチェックで証明することが可能です。今回はそのグラフ理論について解説します。
Read More
【偶数奇数】パリティビットとは?クイズで意味解説【parity】
余剰で偶数・奇数を求めることができますが、偶奇によってデータが壊れていないか?実行可能か?「目印」としてチェックすることができます。これをパリティといいます。今回は偶奇 (パリティ) の意味・その判定方法について解説します。
Read More