Ho riscontrato un problema nel tentativo di elaborare l'algoritmo corretto per calcolare un insieme di intervalli di date.Problema di calcolo degli intervalli di date sovrapposti
Fondamentalmente ho un elenco di intervalli di date non ordinati (Elenco contenente matrici di inizio e fine ore) e voglio consolidare questo elenco in modo che non contenga tempi di sovrapposizione.
Fondamentalmente per consolidare due intervalli di date:
if start1 <= end2 and start2 <= end1 //Indicates overlap
if start2 < start1 //put the smallest time in start1
start1 = start2
endif
if end2 > end1 //put the highest time in end1
end1 = end2
endif
endif
Questo unisce i due volte data.
Ho colpito un ostacolo quando si tratta di iterare attraverso tutti i valori in modo che l'elenco di fine contenga solo valori che non si sovrappongono.
La mia programmazione funzionale e ricorsiva è un po 'arrugginita e qualsiasi aiuto sarebbe benvenuto.
http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844 contiene una soluzione con spiegazione per questo (beh, dipende da cosa si sta ottimizzando, non è stato specificato quella..). dovrebbe essere molto facile da implementare in FP –
Qualche possibilità che potresti mettere nella giusta direzione su quale algoritmo, struttura dei dati o approccio ti stai riferendo? – emt14
Penso che sia all'inizio nella sezione algoritmi greedy (anche se non sono sicuro). devi prima ordinare la lista. –