Veri Yapıları Ders Notları #1

 Veri Yapıları Ders Notları #1
Okunuyor Veri Yapıları Ders Notları #1

Selamun aleyküm arkadaşlar bugün sizlere Veri Yapıları Ders Notları anlatacağız.Konularımız arasında  Dizi tabanlı yığın, başarım ve sınırlamalar mevcuttur.

Veri Yapıları Ders Notları

nesneleri soldan sağa doğru ekleriz.Bir değişken en üstteki nesnenin index bilgisini izler. Eleman çıkarılırken bu index değeri alınır.

Algortihm size()
   return t + 1

Algortihm pop()
   if isEmpty() then
      throw EmptyStackExecption
   else
      t <- t - 1
      return S[t + 1]

Dizi Tabanlı Yığın

Yığın nesnelerinin saklandığı dizi dolabilir. Bu durumda push işlemi aşağıdaki mesajı verir.

FullStackExecption (DoluYığınİstinası)

Dizi tabanlı yaklaşımın sınırlamasıdır.

Algortihm push(a)
   if t = S.length <- 1 then
      throw FullStackExecption
   else
      t <- t - 1
      S[t] <- 0

Başarım ve Sınırlamalar

Başarım

n yığındaki nesne sayısı olsun

kullanılan alan O(n)

Her bir işlem O(1) zamanda gerçekleşir.

Sınırlamalar

Yıgının en üst sayısı önceden tanımlanmalıdır ve değiştirilemez.

Dolu bir yığına yeni bir nesne eklemeye çalışmak istinai durumlara sebep olabilir.

Büyüyebilir Dizi Tabanlı Yığın Yaklaşımı

push işlemi esnasında dizi dolu ise bir istisai durum bildirimi geri dönmektense yığının tutulduğu dizi daha büyük bir dizi ile yer değiştirilir.

Yeni dizi ne kadar büyüklükte olmalı ?

Artımlı strateji: büyüklüğü sabit bir c değer kadar arttırılır.

İkiye katlama stratejisi: önceki dizi boyutu iki kat arttırılır.

Bağlı liste yapılarını kullanarak yığın işlemini gerçekleştirmek bu tür problemlerin önüne geçmede yararlı olur.

Arkadaşlar bu günlük anlatacağımız konular bu kadar Veri Yapıları Ders Notları inşaallah iyi anlatmışızdır daha sonra görüşmek üzere.

 

 

 

 

 

 

 

 

 

Yapılan Yorumlar

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.