Closed ei1333 closed 1 year ago
dijkstra くん問題だらけなので、移動に限らず様々やるべきですね
class の名前も変える必要が
src/graph/single-source-shortest-path/in-weighted-graph.hpp
in-weighted-graph は Floyd-Warshall Algorithm っぽい
そんな
いや Floyd-Warshall は APSP だろ Bellman-Ford Algorithm です
では、どうしますか
正の辺であることをかければいいんじゃないですか
Dijkstraって負辺があると動かないんですね 今知りました
負辺があっても動作するが、それは置いておいて positive-weighted とすると
non-negative
負辺があっても動作はするのか
6年くらい前にらてくんがポテンシャルの話をしていた記憶があります 詳しいことは全然覚えていません
ところで、SPFAというアルゴリズムはどうでしょう
SPFA ではないでしょうか
サイレント修正がきていた
サイレント修正しました
あ、これ Bellman-Ford より高速になりがちなんですね
では issue を立てていただいて
まともに読んでないからなんかよくわかんねえけどその手の話っぽいものはいくつか出てきた https://niuez.hatenablog.com/entry/2019/03/04/142903 https://qiita.com/ngtkana/items/d7fc4463e56b966d1ebf
in-unweighted-graph.hpp、これを解くアルゴリズムが複数あるときに困ることに気が付きました
いや、重みなしグラフの最短路は別に1つでよくないですか 他になにか亜種が出てくることありますかね
亜種というのは、BFS では原理的に解けないグラフや、特殊なグラフにおいては BFS より真に高速になるようなものという意味ですね
補グラフ最短路というのはどうだろう
あーたしかに まあそれは補グラフの最短路という名前になりそうだけど
あ、これはAPSPでした
特殊なグラフの場合はその名前をつければいいか
まあそうなりそうな感じはあるよね
Dijkstra は特殊なグラフで高速になる側だと思っていて、命名としてはそうなるのが適切かなと思います
in-positive-weighted-graph でいいんじゃないかな
ここにきてドキュメントの $|V|$ などが $V$ と表記されていることも発覚してきた
$V$ は頂点集合を指したいですね
description を更新しておきました
description を更新しておきました3
Description
110
113
class
の名前を変える#pragma once
を追加する<vector>
,<functional>
などの必要なヘッダーを適切に include するRelated files
src/graph/dijkstra.hpp
src/graph/single-source-shortest-path
note