Jak najdete nejkratší cestu v orientovaném grafu?
Jak najdete nejkratší cestu v orientovaném grafu?

Video: Jak najdete nejkratší cestu v orientovaném grafu?

Video: Jak najdete nejkratší cestu v orientovaném grafu?
Video: Shortest/Longest path on a Directed Acyclic Graph (DAG) | Graph Theory 2024, Smět
Anonim

Vzhledem k váženému Režie Acyklický Graf a zdrojový vrchol v graf , najít nejkratší cesty z daného zdroje do všech ostatních vrcholů.

Nejkratší cesta v řízeném acyklickém grafu

  1. Inicializovat dist = {INF, INF, ….}
  2. Vytvořte topologické pořadí všech vrcholů.
  3. Proveďte následující pro každý vrchol u v topologickém pořadí.

Jak tímto způsobem najdete nejkratší cestu v grafu?

Kroky algoritmu: Pro a graf s vrcholy: Inicializujte nejkratší cesty mezi libovolnými vrcholy s Infinity. Nalézt všechny dvojice nejkratší cesty které používají mezilehlé vrcholy nalézt a nejkratší cesty které používají mezilehlý vrchol a tak dále.. dokud nebudou všechny vrcholy použity jako mezilehlé uzly.

Kromě výše uvedeného, jak najdete nejkratší cestu v DFS? Ne, nemůžete použít DFS na najít nejkratší cestu v neváženém grafu. Není tomu tak, nález a nejkratší cesta mezi dvěma uzly řeší výhradně BFS.

Podobně, jak najdete nejkratší cestu ve stromu?

  1. Procházet strom (nejdříve do hloubky)
  2. Udržujte indexy (uzly)
  3. přidat hodnoty.
  4. do (1) do konce stromu.
  5. porovnejte součet a vytiskněte cestu a součet.

Jaký algoritmus se používá k nalezení nejkratší cesty?

Algoritmus Dijkstra's Shortest Path First

Doporučuje: