Informatica · Strutture dati
Divario tra rimozioni a finestra minima e massima, v2
Per calcolare il massimo di ogni finestra scorrevole di ampiezza $k$ su un array, si usa una coda a due estremità (deque) di indici, mantenuta sempre con i valori corrispondenti in ordine decrescente: per ogni nuovo elemento si rimuovono dal fondo della deque tutti gli indici il cui valore è $\le$ del nuovo elemento (perché non potranno mai più essere il massimo di nessuna finestra futura), poi si inserisce il nuovo indice in fondo; infine si rimuove dalla testa l'indice se è uscito dalla finestra corrente. Sia $T(k)$ il numero totale di rimozioni (testa+fondo, sommate su tutta l'esecuzione) ottenuto applicando l'algoritmo con ampiezza di finestra $k$.
Si applica l'algoritmo all'array $[9, 12, 5, 11, 8, 10, 3, 7, 6, 4, 1, 2]$ ($n=12$), calcolando $T(k)$ per ogni ampiezza $k$ compresa tra $2$ e $11$. Qual è la differenza $T(2) - T(11)$?
La tua risposta:
La tua risposta
Vanno bene sia 3,14 sia 3.14.