Quando si attraversa un grafico a più fili, l'ordine in cui i nodi sono attraversati può influenzare notevolmente (di molti ordini di grandezza) il numero di nodi da tracciare con il metodo di movimento. Alcuni tipi di algoritmi saranno enormemente migliori quando si usa l'ampiezza; altri saranno massicciamente migliori quando si utilizza la ricerca di profondità.
A un estremo, eseguire una ricerca in profondità su un albero binario con nodi foglia N richiede che il metodo di movimento tenga traccia dei nodi lgN mentre una ricerca in larghezza richiederebbe di tenere traccia di almeno N/2 nodi (poiché potrebbe eseguire la scansione di tutti gli altri nodi prima di eseguire la scansione di eventuali nodi foglia, immediatamente prima della scansione del primo nodo foglia, avrebbe rilevato N/2 dei nodi padre delle foglie che devono essere monitorati separatamente poiché nessuno di essi fa riferimento l'un l'altro) .
All'estremo opposto, si esegue un riempimento in una griglia NxN con un metodo che, se il pixel non è ancora stato colorato, i colori che pixel e quindi riempiono il suo vicino richiederanno di accodare O (N) le coordinate dei pixel se si utilizza la ricerca in ampiezza, ma le coordinate dei pixel O (N^2) se si utilizza depth-first. Quando si utilizza la ricerca in ampiezza, la vernice sembrerà "distesa", indipendentemente dalla forma da dipingere; quando si utilizza l'algoritmo depth-first per dipingere una spirale rettangolare, ogni linea di cui è diritta su un lato e seghettata sull'altro (quali lati dovrebbero essere dritti e frastagliati dipende dall'algoritmo esatto utilizzato), tutte le sezioni diritte verranno dipinte prima di qualsiasi di quelle frastagliate, il che significa che il sistema deve tracciare separatamente la posizione di ogni jag.
vedere http://stackoverflow.com/questions/687731/breadth-first-vs-depth-first ... contiene alcune informazioni e collegamenti utili, tra cui 3 blog parte collegati a una delle ultime due risposte. – hatchet
Grazie per aver condiviso questo. Sembra davvero utile. In realtà, capisco come funzionano entrambi gli algoritmi, voglio solo sapere perché ne abbiamo bisogno di due :) – Kris
simile a http://stackoverflow.com/questions/1657174/what- is-breadth-first-search-useful-for – hatchet