Com puc utilitzar BFS per trobar el camí més curt?
Com puc utilitzar BFS per trobar el camí més curt?

Vídeo: Com puc utilitzar BFS per trobar el camí més curt?

Vídeo: Com puc utilitzar BFS per trobar el camí més curt?
Vídeo: Быстрая укладка плитки на стены в санузле. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #27 2024, Maig
Anonim

A trobar el camí més curt , tot el que has de fer és començar des de la font i realitzar a amplitud primer buscar i aturar-se quan vostè trobar el vostre node de destinació. L'única cosa addicional que heu de fer és tenir una matriu anterior[n] que emmagatzemarà el node anterior per a cada node visitat. L'anterior de la font pot ser nul·la.

També es va preguntar per què BFS troba el camí més curt?

Ho diem BFS és el algorisme a utilitzar si volem trobar el camí més curt en un gràfic no dirigit i no ponderat. La reclamació per BFS és que la primera vegada que es descobreix un node durant el recorregut, aquesta distància de la font faria dóna'ns el camí més curt . No es pot dir el mateix d'un gràfic ponderat.

Sapigueu també, on és el camí més curt del laberint? Trobeu el camí més curt en un laberint

  1. Puja: (x, y) –> (x – 1, y)
  2. Anar cap a l'esquerra: (x, y) –> (x, y – 1)
  3. Baixa: (x, y) –> (x + 1, y)
  4. Anar a la dreta: (x, y) –> (x, y + 1)

També per saber, podem utilitzar DFS per trobar el camí més curt?

No, vostè no pot utilitzeu DFS per trobar el camí més curt en un gràfic no ponderat. No és el cas que, trobant el camí més curt entre dos nodes es resol exclusivament per BFS. En un gràfic no ponderat el camí més curt són el nombre més petit d'arestes que s'han de travessar des de l'origen fins als nodes de destinació.

Quin és el temps d'execució de BFS?

Complexitat de Primera cerca de l'amplada Cerca de l'amplada primer té temps d'execució de O (V + E) O (V + E) O (V+E) ja que cada vèrtex i cada aresta es comprovaran una vegada. Depenent de l'entrada al gràfic, O (E) O (E) O (E) podria estar entre O (1) O (1) O (1) i O (V 2) O (V^2) O (V2)).

Recomanat: