Ho cercato un algoritmo efficiente per unire intervalli di sovrapposizione su una gamma dinamica di intervalli. Ad esempio, (ora di inizio, ora di fine) saggio,
[(1, 2), (4, 8), (3, 10)]
diventa
[(1, 2), (3, 10)]
dopo l'unione perché (4, 8) e (3, 10) sono sovrapposti. Sovrapposizione significa che ogni parte dei due intervalli condivide lo stesso momento.
So quando viene fornita una matrice completa l'operazione può essere eseguita con una pila dopo aver ordinato gli intervalli in ordine crescente di ora di inizio ( riferimento: geeksforgeeks ). Ma questo algoritmo è efficacemente applicabile solo quando l'array dato non è dinamico, ma sto cercando quale sarà efficiente per l'array dinamico. Ad esempio, gli intervalli di array verranno aggiornati e inseriti frequentemente e gli intervalli dovrebbero essere uniti su ciascuna operazione.