DAILY JOURNAL

アルゴリズム

10記事の記録。

2025年10月

2025年7月

  1. Pythonで学ぶ幅優先探索(BFS)|基礎・最短経路・グラフ作成

    これらのソースは、Pythonを用いた幅優先探索(BFS)の基本概念から、最短経路探索、実務データをグラフ構造へ変換する方法までを段階的に解説した技術ブログ記事です。 筆者が業務で幅優先探索に渡すデータを即座に作成できなかった経験を起点として、アルゴリズムの内部処理を一つずつ確認し、最終的に実際のデータから最短経路を導き出すまでの学習過程が記録されています。 2025.07.26(土)12:24|幅優先探索をマスターする https://ki-hi-ro.com/%E5%B9%85%E5%84%AA%E5%85%88%E6%8E%A2%E7%B4%A2%E3%82%92%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%81…

    幅優先探索の第一引数に渡すgraphを辞書から作成する

    元データ # 元データ data = [ {'node1': 1000, 'node2': 1050, 'direction': 0}, {'node1': 1100, 'node2': 1000, 'direction': 1}, {'node1': 1150, 'node2': 1200, 'direction': 2} ] directionの値の意味 directionの値意味0無方向1一方通行2双方向 元データからgraph作成 # 元データからgraph作成 def build_graph(data): graph = {} for edge in data: n1, n2, d = edge['node1'], edge…

    幅優先探索で最短経路を求める

    前回は、プレーンな幅優先探索を行なった。 https://ki-hi-ro.com/%e5%b9%85%e5%84%aa%e5%85%88%e6%8e%a2%e7%b4%a2%e3%82%92%e3%83%9e%e3%82%b9%e3%82%bf%e3%83%bc%e3%81%99%e3%82%8b/ 今回やりたいのは、最短経路探索。 ブラックボックスをいかに使いこなすか 人体の仕組みをはじめとして、ブラックボックスになっていることは多い。 その中身を知ろうとすると、膨大な時間がかかる。 プログラミングにおける関数も中身を知らなくても、入力(引数)と出力(戻り値)だけ意識すれば、うまく組み合わせることで、プログラムを作成していける。 最短経路検索の関数…

    Pythonで幅優先探索(BFS)の仕組みを理解する

    上長から、幅優先探索の第一引数に渡すデータを作成してほしいと依頼された。 しかし、その場ですぐに対応することができなかった。 エンジニアとしての実力が可視化された瞬間だった。 実力不足を痛感できる環境にいることを前向きに捉え、ここからスキルアップしていきたい。 手始めに、Pythonで幅優先探索を実装し、その処理の流れを一つずつ確認する。 幅優先探索(BFS)とは 幅優先探索(Breadth-First Search、BFS)は、グラフやツリー構造を探索するアルゴリズムの一つ。 スタート地点に近いノードから、横方向へ広がるように順番に探索していく。 主な特徴は次のとおり。 重みのないグラフでは、最短経路を求めるために利用できる スタート地点に近いノード…

2025年2月

2024年4月