プログラミング

隣接行列で経路数を求める方法(Python版)

隣接行列について 過去に隣接行列についてまとめたブログがあるので、隣接行列についてはこちらをご覧ください。 ↓を参照しておきます。 隣接行列の積をPythonで表現する方法 今回も、この無向グラフを用いて考えていきます。 図1)無向グラフ ...
プログラミング

Pythonで「エイトクイーン」を考える

エイトクイーンとは? 駒の移動できる場所を利き筋と呼びます。 クイーンの利き筋例 チェスのクイーンでは、利き筋が縦、横、斜めのラインのマスです。 エイトクイーンとは、チェスの盤面においてお互いに利き筋にならないように8コのクイーンを配置する...
プログラミング

PythonでN次正方行列を計算

N次正方行列とは 正方行列が、行の要素数と列の要素数が一致する行列です。 N次正方行列とは、行の要素数がNコで列の要素数もNコである行列です。 Pythonで表現方法 例として、 次の二つの行列A、行列Bの積を求めます。 行列A 行列B 二...
数学

隣接行列で経路数を求める方法 「わかりやすく解説」

隣接行列とは? 隣接行列は、グラフをデータとして表現する場合に用いられ、節点同士で隣接する接点を表す行列。 ※ここでのグラフとは、グラフ理論で用いられるグラフのことを指します。 グラフ理論では、節点(頂点)と線(辺)で表されるデータ構造をグ...
プログラミング

pythonで文字列の並べ替え

"japanese"の並び方をテキストファイルに書き出し 今回は、文字列を指定して、 その文字列の並べ替えを、すべて書き出すプログラムを作成します。 例として「japanese」という文字列を使用します。 「japanese」という文字列の...
プログラミング

Pythonで2分探索法

Pythonを使って2分探索法のプログラムを考えます。 今回は例として、 【3,5,7,9,11,13,15,17,19,21,23,25,27】 の数字列の中から「11」を、2分探索法で探し出すプログラムを考えます。 ※2分探索法は、(大...
プログラミング

Pythonで線形探索法

Pythonを使って線形探索のプログラムを考えます 今回は例として、 【3,5,7,9,11,13,15,17,19,21,23,25,27】 の数字列の中から「11」を探し出すプログラムを考えます。 ※線形探索法は、(大きい順) または ...
プログラミング

「シフト演算」が必要な理由

コンピュータで使われる「シフト演算」が必要な理由を考えます。 結論から言うと、 「シフト演算」が使われる理由は、計算を高速化するためです。 と言っても、どういう理論で計算スピードが上がるのか 実際に例を使って考えていきたいと思います。 シフ...
プログラミング

Python 「^」の意味は?

演算子「^」について解説 「Python」に限らず、 他のプログラミング言語でもよく見かける。 「^」について解説していきます。 数学では「^」は、べき乗の意味で使われますが、 プログラミングの世界では、違った意味で使用されます。 「^」と...
プログラミング

Pythonで白黒写真を作成

NumPy と PIL を使って白黒写真を作る方法をご紹介します。 使用するモジュール・ライブラリについて 今回は、NumPyとPILを使います。 その前に、それぞれPythonでどんな効力を発揮するのかご紹介します。 NumPy:数値計算...