This is an old revision of the document!


Analiza Amortizata 2

Vom continua cu analiza amortizata inceputa in laboratorul precedent cu un ArrayList cu urmatoarele proprietati:

  • isi dubleaza capacitatea cand este plin (ex: avem 4 elemente intr-un ArrayList cu capacitate 4. La adaugarea celui de-al 5-lea element, capacitatea va deveni 8 - necesita o copiere de 4 element, apoi inserarea celui de-al 5-lea element).
  • isi injumatateste capacitatea cand este un sfert plin (ex: avem 5 elemente intr-un ArrayList de capacitate 16. La urmatoarea stergere, capacitatea va deveni 8 - necesita stergerea elementului 5, apoi copierea celor 4 elemente ramase).

Exercitii

  1. Aflati costul amortizat al operatiilor de inserare si stergere prin metoda agregatelor.
  2. Aflati costul amortizat pentru k operatii de inserare si p operatii de stergere.
  3. Aflati costul amortizat al operatiei de stergere prin:
    1. metoda bancherului
    2. metoda potentialelor
  4. Bonus: Aflati costul amortizat al operatiei de inserare prin:
    1. metoda bancherului
    2. metoda potentialelor

Consideram urmatorul ADT:

 Void : List
 Cons : E x List -> List
 

Exercitii

  1. Implementati ADT-ul in C.
  2. Definiti axiome pentru size, add, append, reverse.
  3. Implementati axiomele definite in C.