ALGORITMO con una determinata complessità

Messaggioda LM92 » 07/08/2017, 15:05

Salve gente,
ho un piccolo problema, sto cercando da ieri di risolvere un esercizio inerente la progettazione di un algoritmo, ma non riesco a capire come potrei procedere.
Sono riuscito a trovare una soluzione iterativa, ma la complessità è dunque molto superiore a quella richiesta.
Leggendo la traccia riesco solo ad ipotizzare che debba usare un algoritmo ricorsivo, ma non saprei proprio come strutturarlo.

qui di seguito il testo dell' esercizio:
Dati n intervalli della retta reale, si descriva un algoritmo che calcoli la lunghezza della loro unione in O(n log n) passi. Per esempio, la lunghezza dell’ intervallo [1, 3] è 2, la lunghezza dell’unione dei quattro intervalli [1, 3], [6, 9], [2, 4.5] e [7, 8] è 6.5. Si spieghi la correttezza dell’algoritmo descritto e se ne analizzi il tempo di esecuzione asintotico.

Suggerimento: utilizzare un array di coppie <inizio, fine> come struttura dati per memorizzare gli intervalli.
LM92
Starting Member
Starting Member
 
Messaggio: 2 di 6
Iscritto il: 07/08/2017, 14:56

Re: ALGORITMO con una determinata complessità

Messaggioda insideworld » 09/08/2017, 14:20

io seguirei il suggerimento verificando se il nuovo intervallo ha intersezioni con il precedente. probabilmente la soluzione comprende l'ordinare gli intervalli in ordine crescente (guardando il punto di partenza) così la seconda parte dell'algoritmo risulta più semplice.
Di che esame si tratta?
Avatar utente
insideworld
Junior Member
Junior Member
 
Messaggio: 143 di 306
Iscritto il: 13/01/2017, 15:24

Re: ALGORITMO con una determinata complessità

Messaggioda LM92 » 12/08/2017, 14:28

si hai ragione :) ho disturbato la professoressa per saperlo XD

la materia si chiama introduzione agli algoritmi.
LM92
Starting Member
Starting Member
 
Messaggio: 3 di 6
Iscritto il: 07/08/2017, 14:56


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite