come raggiungere tutti i nodi in una struttura ad albero in cui la fine dell'albero è sconosciuta

1 risposta

1

Il tuo algoritmo ricorda da vicino Prima ricerca di profondità

Potresti implementarlo in questo modo:

Add the first ID to your database
While (there are unmarked records in the database)
    Get the first ID from the database (mark the record as 'visited')
    Visit the URL, obtain the list of children (if any)
    Add each child to the database *if it is not already there*
    *pause for a while*

Tieni presente che questo è solo uno schizzo: il tuo codice effettivo sarà senza dubbio molto più lungo e avrà un controllo degli errori.

Mi è venuto in mente che dal momento che stai colpendo il server web di qualcuno per i dati, per definizione stai implementando un rudimentale web crawler . Questo non è necessariamente un aspetto negativo, ma dovresti assicurarti di non chiamare il loro server troppo spesso (senza la pausa potresti aumentare il loro server), onora il sito criterio di esclusione (robots.txt) e comportarsi in modo responsabile.

    
risposta data 11.10.2016 - 22:43
fonte

Leggi altre domande sui tag