アルゴリズム 【DFS・BFS】グラフ(木構造)における2頂点間の経路を求める【Python】 木構造における、2頂点間の経路を求める問題についてPythonでの実装例を解説しています。幅優先探索や深さ優先探索を理解するのにも有用な問題です。 2022.09.26 アルゴリズム
アルゴリズム 【Python】繰り返し(循環・周期)構造を持つリスト・文字列に含まれるエラー(不規則)部分を特定する【ABC122 C – GeT AC(累積和)】 ABC122 C - GeT ACを参考に、累積和を用いて、ABCABC...といった繰り返し構造の中に含まれるエラーを発見するアルゴリズムを考えてみました。Pythonでの実装例も解説しています。 2022.09.22 アルゴリズム
アルゴリズム 【深さ優先探索】DFSによる全探索を理解したい!(Atcoder ABC119 C解説)【Python】 AtcoderのABC119 C - Synthetic Kadomatsuは深さ優先探索(DFS)による全探索を修得するのに適した問題である。DFSの視覚的なイメージや漸化式を含めて解説する。 2022.09.03 アルゴリズム
アルゴリズム 【幅優先探索】木構造(グラフ)における頂点間距離を求める【Python】 木構造を扱う際、頂点間の距離や根からの距離を求めたり、木の直径を求めたりする場面があります。本記事では幅優先探索(BFS)の考え方を図で直感的にイメージした後、グラフ(木構造)の頂点間の距離に関する具体的な問題を解説しています。 2022.08.12 アルゴリズム
アルゴリズム 【二分探索(基礎編)】値の探索、境界値・範囲を求める(Python) 本記事では、2分探索の典型的な問題について、Pythonでの実装例を紹介している。これを読めば、昇順に並んだリストを対象に、値の探索・境界値を求める・範囲を求めるといった二分探索に関する問題を解くことができるようになるだろう。 2022.05.19 アルゴリズム
アルゴリズム 【動的計画法】部分和問題の典型パターン4種類の問題を解く(Python) 私がアルゴリズムの勉強を始めてから、最初にぶつかったのが、動的計画法(DP)でした。深く理解するために、具体例を用いて、これでもかという程に詳しく解説したつもりです。ここでは、動的計画法を用いて、様々なタイプの部分和問題(ナップサック問題に類似している問題)を解く方法を解説します。 2022.05.04 アルゴリズム