Il tempo di esecuzione di BFS è O (b^d)ricerca in ampiezza ramificazione fattore
b è il fattore di ramificazione d è la profondità (° livello) del grafico avvio nodo.
Ho cercato su google per un po ', ma ho ancora non vedo nessuno parlare di come essi capire questo "b"
fattoreQuindi so ramificazione significa "# di bambini che ogni nodo ha"
Eg, il fattore di ramificazione per un albero binario è 2.
quindi per un grafico BFS, è che b = media tutto il fattore di ramificazione di ciascun nodo nel nostro grafico.
o b = MAX (tra tutti i fattori di diramazione di ciascun nodo)?
Inoltre, indipendentemente dal modo in cui selezioniamo il b, sembra ancora ambiguo avvicinarci al nostro tempo di esecuzione. Ad esempio, se il nostro grafico ha 30000 nodi, solo 5 nodi hanno 10.000 ramificazioni e tutti gli altri 29955 nodi hanno solo 10 diramazioni. e abbiamo l'impostazione di profondità per essere 100.
Sembra O (b^d) non ha senso in questo caso.
Qualcuno può spiegare un po '. Grazie!
A rigor di termini 'd' NON è la profondità del grafico. È la profondità della soluzione più superficiale. – nhahtdh
cosa intendi con la soluzione più superficiale? – runcode
Se esistono più soluzioni e la soluzione è su una profondità diversa, BFS terminerà quando avrà trovato una soluzione, che è la più superficiale. A meno che tu non voglia cercare l'intero albero, allora d potrebbe essere definito diversamente. – nhahtdh