Hoe gebruik ek BFS om die kortste pad te vind?
Hoe gebruik ek BFS om die kortste pad te vind?

Video: Hoe gebruik ek BFS om die kortste pad te vind?

Video: Hoe gebruik ek BFS om die kortste pad te vind?
Video: Hoe weet u of u depressief bent? 2024, Mei
Anonim

Om vind die kortste pad , al wat jy hoef te doen is om by die bron te begin en 'n uit te voer breedte eerste soek en stop wanneer jy vind jou bestemming Node. Die enigste bykomende ding wat jy hoef te doen is om 'n skikking vorige[n] te hê wat die vorige nodus sal stoor vir elke nodus wat besoek word. Die vorige van bron kan nul wees.

Ook gevra, hoekom vind BFS die kortste pad?

Ons sê dit BFS is die algoritme om te gebruik as ons wil vind die kortste pad in 'n ongerigte, ongeweegde grafiek. Die eis vir BFS is dat die eerste keer dat 'n nodus tydens die deurkruising ontdek word, daardie afstand vanaf die bron sou gee ons die kortste pad . Dieselfde kan nie gesê word vir 'n geweegde grafiek nie.

Weet ook, waar is die kortste pad in die doolhof? Vind die kortste pad in 'n doolhof

  1. Gaan op: (x, y) –> (x – 1, y)
  2. Gaan links: (x, y) –> (x, y – 1)
  3. Gaan af: (x, y) –> (x + 1, y)
  4. Gaan regs: (x, y) –> (x, y + 1)

Om ook te weet, kan ons DFS gebruik om die kortste pad te vind?

Geen, jy kan nie gebruik DFS om die kortste pad te vind in 'n ongeweegde grafiek. Dit is nie so dat, bevinding die kortste pad tussen twee nodusse word uitsluitlik deur BFS opgelos. In 'n ongeweegde grafiek die kortste pad is die kleinste aantal rande wat van bron- na bestemmingsnodusse deurkruis moet word.

Wat is die looptyd van BFS?

Kompleksiteit van Breedte eerste soektog Breedte-eerste soektog het 'n looptyd van O (V + E) O(V + E) O(V+E) aangesien elke hoekpunt en elke rand een keer gekontroleer sal word. Afhangende van die invoer na die grafiek, kan O (E) O(E) O(E) tussen O (1) O(1) O(1) en O (V 2) O(V^2) O(V2) wees).

Aanbeveel: