Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BAZI VERİ YAPILARI Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini.

Benzer bir sunumlar


... konulu sunumlar: "BAZI VERİ YAPILARI Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini."— Sunum transkripti:

1 BAZI VERİ YAPILARI Yılmaz KILIÇASLAN

2 Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini anlamak için gereksinim duyacağımız şu veri yapılarını kısaca gözden geçireceğiz: - Diziler (Arrays) - Bağlı Listeler (Linked Lists) - İşaretçiler (Pointers) - Yığıtlar (Stack) - Kuyruklar (Queues)

3 Diziler MÜŞTERİAdamsBrownClarkDrewEvansFarmerGellerHillerInfeld SATICISmithRay JonesSmithJonesRaySmithRay Bu tür bir veri üzerinde iki işlem yapabiliriz: İşlem A: Verilen müşteri adı için, satıcıyı bulmak. İşlem B: Verilen satıcı adı için, müşterileri bulmak. Bu veriyi bellekte saklamak için ilk akla gelen yapı, iki boyutlu bir dizi olabilir. Müşteriler alfabetik sırayla listelendiği için, A işlemi kolaylıkla gerçekleştirilecektir. Fakat, B işlemi için bütün diziyi taramak gerekecektir. ÖRNEK:

4 Bağlı Listeler ve İşaretçiler - 1 Bağlı liste, doğrusal olarak birbirine bağlanmış bir veri elemanları toplululuğudur. Veri elemanları, düğümler (nodes) olarak adlandırılır. Elemanların doğrusal sıralanışı, işaretçi barındıran alanlar aracılığıyla gerçekleştirilir. X Adres alanı Bilgi alanı Başlangıç Null İşaretçi

5 Bağlı Listeler ve İşaretçiler - 2 Müşteri – Satıcı örneğimizi aşağıdaki gibi yapılandırabiliriz: - Müşterileri ve satıcıları alfabetik olarak sıralayan iki ayrı matriks kullanmaktayız. - Müşteri dizisine paralel, her müşterinin satıcısının konumunu belirleyen bir işaretçi dizisi bulunmaktadır. - Ayrıca her satıcının müşteri listesi bir bağlı liste içinde verilmiştir. - Artık, bir satıcının müşteri listesini belirlemek için (işlem B), bütün müşteri listesini taramak gerekmeyecektir.

6 Yığıtlar ve Kuyruklar Yığıt (stack): “Son giren ilk çıkar” (last-in first-out (LIFO)) kuralıyla işler. Ekleme ve silme işleminin yalnızca bir uçtan (top) gerçekleştirildiği doğrusal listelerdir. Kuyruk (queue): “İlk giren ilk çıkar” (first-in first-out (FIFO)) kuralıyla işler. Ekleme işleminin bir uçtan (front), silme işleminin ise diğer uçtan (rear) gerçekleştirildiği doğrusal listelerdir.

7 Öncelik Kuyrukları Öncelik Kuyruğu (Priority Queue): Elemanların periyodik olarak eklendiği ama silme işleminin “en yüksek önceliği taşıma” kriterine göre gerçekleştirildiği sistemlerdir. “Öncelikli olarak çocuklar ve kadınlar” ve “güzellikten önce yaş” kuralları, öncelik kuyruğu örnekleridir. Ayrıca, yığıtlar ve kuyruklar özel türden öncelik kuyruklarıdır.


"BAZI VERİ YAPILARI Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini." indir ppt

Benzer bir sunumlar


Google Reklamları