Informatica · Strutture dati
Ampiezza minima di finestra per una soglia più bassa
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 $[5, 11, 10, 9, 7, 8, 6, 2, 4, 1, 3]$ ($n=11$), calcolando $T(k)$ per $k=2,3,\dots,10$. Qual è il più piccolo valore di $k$ per cui $T(k) \le 5$?
La tua risposta:
La tua risposta
Vanno bene sia 3,14 sia 3.14.