アルゴリズム

Pythonで高速フーリエ変換をCooley-Tukey法で書く

PythonにはNumPyやSciPyによる優秀な高速フーリエ変換(FFT)アルゴリズムがありますが、基本的なFFTの仕組みを学習するにもPythonは最適です。ここでは最も一般的なFFTアルゴリズムであるCooley-Tukey法をPythonのNumPyで記述し、numpy.fftの結果と比較します。さらに、データ点が2の冪乗でない場合のゼロパディング処理も実装します。

続きを読む

Pythonでマージソートの挙動を可視化してスッキリするページ

ランダムなデータをソートするアルゴリズムは動画にして観察するとなぜだか癒されます。マージソートをプログラミングするためには再帰処理も覚える必要があり勉強にもなります。という事で、ここではソートの中でも一際人気なマージソートをPythonで可視化しながら学びます。

続きを読む

【動画付き】Pythonで挿入ソートのアルゴリズムを実装する方法

Pythonで学ぶアルゴリズム、ソート第3段は「挿入ソート」です。挿入ソートは遅いソートに分類されますが、データの初期配置によって処理途中でbreakが効く分バブルソートよりも速くなる可能性があります。ここでは挿入ソートの図解と1からの実装によりそのアルゴリズムを学びます。

続きを読む

Pythonで2進数/8進数/16進数の基数変換を行うコード

Pythonで手を動かしながら基本情報技術者試験対策を行います。ここではコンピュータ内部の数値表現である2進数を始め、情報技術分野で重要となる8進数と16進数の概要を説明し、各基数変換を自由に計算できるようになる事を目標とします。

続きを読む