Comprensione e Calcolo del costo Amortized delle operazioni di arginamento dinamico
Le matrici dinamiche sono strutture di dati che ridimensionano automaticamente quando raggiungono la capacità, comprendendo il costo ammortato, aiutano a valutare l'efficienza su più operazioni.
Cos'è il costo Amortized?
Il costo ammortato è il costo medio per operazione su una sequenza di operazioni, che consente di smussare gli alti costi di occasionali resizing, distribuendole in molte operazioni poco costose.
Operazioni di Array Dinamiche
Le operazioni comuni su array dinamici includono l'inserimento, la cancellazione e il ridimensionamento. L'inserimento alla fine è tipicamente l'operazione più frequente, che può innescare il ridimensionamento quando la capacità è superata.
Calcolo del costo Amortized
Quando si inserisce gli elementi, l'array raddoppia in dimensioni quando pieno. Il costo di ridimensionamento comporta copiare tutti gli elementi esistenti al nuovo array. Anche se il ridimensionamento è costoso, si verifica di rado.
Ad esempio, se un array inizia con la capacità 1, la sequenza dei costi di ridimensionamento su più inserzioni può essere riassunta come:
- Inserisci 1 elemento: costo 1
- Inserisci 2 ° elemento: ridimensionamento (costo 1), costo totale 2
- Inserire il terzo elemento: ridimensionamento (costo 2), costo totale 3
- Inserire il quarto elemento: ridimensionamento (costo 4), costo totale 4
Il costo totale su n inserzioni è proporzionale a 2n, rendendo il costo ammortato per inserimento approssimativamente O(1).