Você está na página 1de 29

1) 2) 3)

Gerek olabilecek en kt durumu analiz eder.Ortalama durum analizlerinden olas l k iermemesi bak m ndan farkl l k gsterir.En kt durumda her i lemin Ortalama performans n garantiler. 3 metodu vard r; Aggregate Metodu(Denge Metodu) Accounting Metod(Muhasebe Metodu) Potansiyel Fonksiyon Metodu

Dinamik Tablolar: Bu blmde tablo ayr nt lar nemsiz olup hash tablolar n ele alaca z. Hash tablolar ne kadar byk olmal d r? Mmkn oldu u kadar byk(zaman) Mmkn oldu u kadar kk(alan) n de erleri iin O(n)

Problem u ki e er nceden uygun ni yani boyutu bilmiyorsak ne yapaca z? zm dinamik tablolard r. rne in tablo tam dolu yani byyebilecek pozisyonda olsun.Bu durumda ; 1)Daha byk bir tablo tahsis edilir.(malloc veya yeni ) 2)De erler eski tablodan yeni tabloya ta n r. 3)Eski tablo serbest b rak l r.

Btn giri ler doldu u zaman tablo dolmu tur.Bu durumda tabloya bir nesne eklenmeye al ld nda,tabloyu giri say s daha ok olan yeni bir tablo olu turacak ekilde geni letiriz. Buradaki genel yarg ,eski tablonun giri say s n n iki kat giri say s na sahip olan yeni bir tablo ay rmakt r.

TABLE INSERT(T,x) 1. if size[T] = 0 2. then allocate table[T] with 1 slot 3. size[T] 1 4. if num[T] = size[T] 5. then allocate new-table with 2 * size[T] slots 6. insert all items in table [T] into new-table 7. free table[T] 8. table[T] new-table 9. size[T] 2 *size[T] 10. insert x into table[T] 11. num[T] num[T] + 1

Szde kod:

Bir dizi n i leminin toplam maliyetinde bir T(n) st s n r belirledi imiz metoddur. Bundan dolay i lem ba na d en ortalama maliyet T(n)/n dir. Her i lemin amortized maliyetini ortalama maliyet olarak al r z ki ayn amortized maliyeti gstersin rnekleri inceleyelim

12/94

rnek:Y n lemleri Aggregate metodumuzun bu rne inde y n i lemlerini inceleyece iz. PUSH(S,x) x objesini S y n na iter. POP(S) Y n n en st k sm n y ndan kar r. Bu i lemlerden her biri O(1) zaman nda gerekle ti i iin hepsinin maliyetini 1 olarak d nelim.Bu nedenle n tane PUSH ve POP i lemleri dizisinin toplam maliyeti ndir ve dolay s yla n i lemleri iin gerek i lem zaman O(n) dir. imdi S y n n n k st objelerini ortadan kald ran yada k objelerinden daha az ieriyorsa tm y n karan MULTIPOP(S,k) y n i lemini inceleyelim.

Szde Kod: MULTIPOP (S,k) 1. while not STACK-EMPTY (S) and k0 2. do POP(S) 3. k k1

S objelerinin bir y n nda MULTIPOP(S,k)n n yrtme sresi nedir Gerek yrtme sresi gerekle tirilen POP i lemi miktar nda lineerdir.Bu nedenle her bir PUSH ve POP un maliyetleri bak m ndan MULTIPOPu analiz etmek yeterlidir. imdi ba lang ta bo olan bir y n zerinde bir dizi n PUSH,POP ve MULTIPOP i lemlerini analiz edelim.Dizi ierisindeki bir MULTIPOP i leminin en kt maliyeti O(n)dir.nk y n boyutu ne e ittir veya nden kktr.Bu nedenle herhangi bir y n i leminin en kt zaman durumu O(n)dir.Bu ekilde bir dizi n i lem olarak uygulanmas yla maliyet O(n^2) ye mal olur.Bu analiz do rudur fakat sadece her i lemin en kt durum maliyeti d nlerek elde edilen O(n^2) sonucu de i kendir.

Aggregate Metot kullan larak n i lemler dizisinin tmn ele alan daha iyi bir st s n r elde edilebilir.Ba lang ta bo bir y nda olan n adet PUSH,POP ve MULTIPOP i lem dizilerinden herhangi biri O(n)den kk veya e it maliyette olabilir.Peki neden? Her obje itildi i her defa azami olarak y n d na at labilir.(Tamam dolu,gelen ste yerle ir,alttaki d ar at l r.) Bu nedenle MULTIPOP a r lar n ieren bo olmayan bir y nda POPun a r lma say s azami n olan en ok PUSH i lemlerinin say lar kadard r. n in herhangi bir de eri iin n adet PUSH,POP ve MULTIPOP i lem dizilerinden herhangi biri O(n) zaman kadar srer.Bu i leminde ortalama maliyeti O(n)/n=1dir. Bu nedenle bu rnekte bu y n i lemi O(1) amortized maliyetine sahiptir.

Amortized analizin bu ynteminde,baz i lemlere gerek maliyetinden daha az yada daha ok fiyat vererek,farkl fiyatlar veririz.Bir i leme fiyat verme miktar na i lemin amortized maliyeti denir. Yani ba lang ta ortalama bir de er belirlenir.E er bu ortalama de er gerek i lem maliyetinin stnde ise aradaki fark bankaya at l r.E er bu ortalama de er gerek i lem maliyetinin alt nda ise aradaki fark bankadan ekilerek bu i lemin tamamlanmas iin harcan r. Bankan n hibir zaman negatif olamayaca n unutmay n z!!!

Ki i i lemlerin amortized maliyetlerini ok iyi semelidir. E er gerek i lem maliyetini ve amortized maliyetini ile gsterirsek; ci c
n n
i

c u c
i i !1 i !1

ili kisi bulunmu olur.Bu da bankan n negatif bankan n negatif olamayaca anlam na gelmektedir. Veri yap s nda haf zaya al nan toplam kredi ba ka bir deyi le banka toplam amortized masraf ve toplam as l masraf aras ndaki n n farkl l kt r. c c

i !1

i !1

RNEK: Accounting Metot ile dinamik tablolar

Tabloya i. eklemenin hayali amortized maliyetini

= 3$ alal m.

1$ tabloya ekleme iin denir.

ci

2$ ise daha sonra tablo 2 kat na kmas durumu iin bankaya at l r. Tablo 2 kat na kt zaman,1$ son de erin ta nmas iin di er 1$ ise eski de erin ta nmas iin harcan r.

rnek:Y

n i lemleri

kinci rne imiz olan y n i lemleri iin aggregate metod da verdi imiz i lemlerin as l maliyetlerini inceleyelim.

PUSH 1 POP 1 MULTIPOP min(k,s) dir. imdide amortized maliyetlerini belirleyelim,

PUSH 2 POP 0 MULTIPOP 0

Potansiyel yntem accounting ynteme benzer.Krediyi veri yap s ierisindeki bireysel objelerle ili kilendirmek yerine,krediyi bir btn olarak,veri yap s n n potansiyel enerjisi olarak ele al r.

Amortized maliyetleri,veri yap s performans iin temiz bir soyutlama sa lar. Analiz iin herhangi bir metod kullan labilir.Fakat her metodun daha basit veya daha hassas sonular verdi i yerler vard r. Farkl potansiyel fonksiyonlar veya accounting metodu maliyetleri ile farkl s n rlar olu abilir.

Você também pode gostar