アルゴリズムとデータ構造 転倒数について 転倒数とは昇順になっていない数字の組みの個数を意味します。この転倒数の2種類の解法(バブルソート、BIT)についてまとめました。 また、BITのアルゴリズムの挙動を視覚的・数式的な解釈についても詳しくまとめました。 2022.08.23 アルゴリズムとデータ構造
アルゴリズムとデータ構造 BIT(Binary Indexed Tree)をpythonで実装する Binary Indxed Tree(BIT)は値の追加・区間和を高速に計算できるデータ構造です。 BITをpythonで実装し、アルゴリズムの挙動を一つ一つ詳しく見ていきます。 2022.08.20 アルゴリズムとデータ構造
アルゴリズムとデータ構造 [クラスカル法]pythonでの実装と実行例を丁寧に 最小全域木を求めるアルゴリズムの一つがクラスカル法です。本記事ではこのアルゴリズムをpythonで実装します。 また、単純なグラフを用いて、どういう流れで最小全域木が導かれるのかを詳しく見ていきます。 2022.08.17 アルゴリズムとデータ構造
アルゴリズムとデータ構造 [ワーシャルフロイド法]pythonでの実装と実行例を丁寧に ワーシャルフロイド法はグラフの最短経路を求めるアルゴリズムです。本記事ではこのアルゴリズムをpythonで実装し、簡単なグラフを用いてアルゴリズムの挙動を見ていきたいと思います。 2022.08.17 アルゴリズムとデータ構造
アルゴリズムとデータ構造 トポロジカルソートをpythonで実装して閉路の存在確認に応用する方法 トポロジカルソートはグラフの有向辺をすべて左から右方向へ向くように並べ替えるアルゴリズムです。本記事ではこのアルゴリズムをpythonで実装し、さらに閉路検出に応用する方法についても触れたいと思います。 2022.08.05 アルゴリズムとデータ構造
アルゴリズムとデータ構造 ランレングス圧縮をpythonで実装する ランレングス圧縮の具体例を導入し、2通りの実装方法についてまとめました。また、具体的な応用例として、AtCoderの問題をランレングス圧縮を用いて解いたコードについても紹介しています。 2022.08.04 アルゴリズムとデータ構造