Ninatumiaje BFS kupata njia fupi zaidi?
Ninatumiaje BFS kupata njia fupi zaidi?

Video: Ninatumiaje BFS kupata njia fupi zaidi?

Video: Ninatumiaje BFS kupata njia fupi zaidi?
Video: Hook Yarn & Dish 350 - Our Friday Live Crochet Chat! April 7 2024, Novemba
Anonim

Kwa tafuta ya njia fupi zaidi , unachotakiwa kufanya ni kuanza kutoka kwa chanzo na kutekeleza a upana kwanza kutafuta na kuacha wakati wewe tafuta Njia yako ya kufikia. Kitu pekee cha ziada unachohitaji kufanya ni kuwa na safu ya awali[n] ambayo itahifadhi nodi ya awali kwa kila nodi iliyotembelewa. Ya awali ya chanzo inaweza kuwa batili.

Iliulizwa pia, kwa nini BFS hupata njia fupi zaidi?

Tunasema hivyo BFS ndio algorithm ya kutumia ikiwa tunataka tafuta njia fupi zaidi katika grafu isiyoelekezwa, isiyo na uzito. Madai ya BFS ni kwamba mara ya kwanza nodi inagunduliwa wakati wa kuvuka, umbali huo kutoka kwa chanzo ingekuwa tupe njia fupi zaidi . Vile vile haziwezi kusemwa kwa grafu yenye uzito.

Pia Jua, ni wapi njia fupi zaidi kwenye maze? Tafuta Njia fupi zaidi kwenye Maze

  1. Nenda Juu: (x, y) –> (x – 1, y)
  2. Nenda Kushoto: (x, y) –> (x, y – 1)
  3. Nenda Chini: (x, y) -> (x + 1, y)
  4. Nenda Kulia: (x, y) –> (x, y + 1)

Pia kujua, tunaweza kutumia DFS kupata njia fupi zaidi?

Hapana, wewe haiwezi tumia DFS kupata njia fupi zaidi kwenye grafu isiyo na uzito. Sio hivyo kwamba, kutafuta ya njia fupi zaidi kati ya nodi mbili hutatuliwa pekee na BFS. Katika grafu isiyo na uzito njia fupi zaidi ni idadi ndogo zaidi ya kingo ambazo lazima zipitishwe kutoka chanzo hadi nodi lengwa.

Wakati wa uendeshaji wa BFS ni nini?

Utata wa Upana Kwanza Tafuta Upana-kwanza ina wakati wa kukimbia ya O (V + E) O(V + E) O(V+E) kwani kila kipeo na kila ukingo vitaangaliwa mara moja. Kulingana na ingizo la grafu, O (E) O(E) O(E) inaweza kuwa kati ya O (1) O(1) O(1) na O (V 2) O(V^2) O(V2))

Ilipendekeza: