Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanOzen Turkan Değiştirilmiş 9 yıl önce
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.
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.