nashidos’s diary

アルゴリズムとか機械学習とか色々

全探索

Pythonで順列全探索を実装してみる-ABC150

本記事では順列全探索をPythonで実装していきます。Pythonではitertoolsを使うことで簡単に順列を生成することができます。 順列全探索とは 例題 問題文 制約 実装 まとめ 順列全探索とは 順列全探索とは通りの順列の組み合わせを全探索する手法です。例えば…

bit全探索で解ける問題をPythonでひたすら解いていく

この記事ではタイトルにある通りbit全探索の問題をひたすら解いていきます。bit全探索自体の解説は以下の記事を参照してください。 nashidos.hatenablog.com 例題1(難易度:茶) 問題文 実装 例題2(難易度:茶) 問題文 実装 例題3(難易度:緑) 問題文 …

全探索アルゴリズムの例題&解説まとめ

ひとことに全探索といっても様々な種類があります。この記事では今まで解説してきた全探索アルゴリズムをまとめていきたいと思います。 単純な全探索 順列全探索 bit全探索 深さ優先探索 幅優先探索 単純な全探索 単純な全探索は最も簡単な全探索です。for文…

Pythonで幅優先探索(BFS)を実装してみる-ATC001&ABC151

今回は幅優先探索をPythonで実装していきます。本記事では、幅優先探索の基本的な最短経路を求める問題と少し応用的な問題を解いていきます。 幅優先探索(BFS)とは 例題1 実装 例題2 実装 まとめ 幅優先探索(BFS)とは 幅優先探索(BFS)はBreadth First Sear…

Pythonで深さ優先探索(DFS)を実装してみる-ATC001

本記事では、深さ優先探索をPythonを利用して実装していきます。実際に深さ優先探索の典型問題をスタックと再帰関数の2パターンの解き方で実装し、解説していきます。 深さ優先探索(DFS)とは 例題 問題文 再帰関数で実装 スタックで実装 まとめ 深さ優先探索…

Pythonでbit全探索を実装してみる-ABC079

bit全探索 全探索にもいろいろ種類がありますが今回はbit全探索をPythonで実装していきたいと思います。bit全探索とはその名の通りbit演算を利用して行う全探索で、Yes or Noのような2択を網羅的に探索する時に使えます。説明を聞いてもわかりにくいかもしれ…

Pythonで単純な全探索を実装してみる-ABC051

全探索 問題 問題文 制約 実装 全探索 全探索にはbit全探索やDFSなどいろいろありますが、今回は最も簡単な基本の全探索をPythonで実装していきます。 問題 問題は ABC 051 B-Sum of Three Integersを扱います。B - Sum of Three Integers 問題文 2 つの整数…