Algoritmalar ve Veri Yapılarına Genel Bakış
Veri Yapılarına Genel Bakış Algoritmalar ve veri yapılarının bu ilk dersinde bu konular hakkında kısa bilgilendirmeler ve karşılaştırmalara yer vereceğiz. Bu kategoride tarafımdan eklenecek tüm örnek kodların tamamı JAVA dilindedir.
Veri yapılarının incelenmesinde en önemli unsurlar veriye erişim ve yapının karmaşıklığıdır. Şimdi veri yapılarının güçlü ve zayıf yanlarını bir tablo ile gösterelim.
| Veri Yapısı |
Artıları |
Eksileri |
| Dizi |
Hızlı ekleme ve çok hızlı erişim(indis biliniyorsa). |
Yavaş arama, yavaş silme ve sabit boyut. |
| Sıralı Dizi |
Sıralanmamış diziye göre daha hızlı arama. |
Yavaş arama, yavaş silme ve sabit boyut. |
| Yığın |
Son giren, ilk çıkar(last-in, first-out) erişimi sağlar. |
Diğer öğelere yavaş erişim. |
| Kuyruk |
İlk giren, ilk çıkar(first-in, first-out) erişimi sağlar. |
Diğer öğelere yavaş erişim. |
| Bağlı Liste |
Hızlı ekleme ve silme. |
Yavaş arama. |
| Hash Tablosu |
Hızlı ekleme ve anahtar bilindiğinde çok hızlı erişim. |
Yavaş silme, anahtar bilinmediğinde yavaş erişim ve verimsiz bellek kullanımı. |
| Küme(Heap) |
Hızlı ekleme ve silme. |
Diğer öğelere yavaş erişim. Başta en büyük öğeye erişim. |
| İkili Ağaç |
Hızlı arama, ekleme ve silme(ağaç dengeli kalmışsa). |
Silme algoritması karmaşık. |
| Graf |
Gerçek-dünya problemlerini modelleyebilmesi. |
Bazı algoritmaları yavaş çalışmakta ve karmaşıklığı yüksek. |
Algoritmalara Genel Bakış
Algoritmalar kısmında anlatılacak konuların bir çoğunda belirli veri yapıları üzerinde uygulamalar gösterilecektir. Birçok veri yapısı için; veri ekleme, belirli bir öğeyi arama ve belirli bir öğeyi silme işlemlerinin nasıl yapıldığını bilmeniz gerekebilir. Ayrıca sıralama algoritmaları, genetik algoritmalar ve özyinelemeli yaklaşımlar konuları da ilerleyen derslerde anlatılacaktır.