Hangi veri yapıları mevcuttur?
sobes.tech yapay zeka
AI'dan gelen yanıt
Diziler, listeler, yığınlar, kuyruklar, ağaçlar, grafikler, karma tabloları.
Dizi: Aynı türden öğelerin koleksiyonu, ardışık bellek hücrelerinde saklanır. İndeks ile erişim.
Liste: Öğelerin sıralı koleksiyonu. Tek yönlü veya çift yönlü bağlı olabilir. Ortadaki ekleme/silme, diziden daha verimlidir.
Yığın: LIFO (Last-In, First-Out) yapısı. İşlemler: push (ekle), pop (sondan çıkar), peek (üst öğeye bak).
Kuyruk: FIFO (First-In, First-Out) yapısı. İşlemler: enqueue (sona ekle), dequeue (başlangıçtan çıkar), peek (ilk öğeye bak).
Ağaç: Hiyerarşik veri yapısı. Kök, düğümler, torunlar. Örnek: ikili arama ağacı.
Grafik: Düğüm (knot) kümesi, kenarlarla bağlanmış. Yönlü veya yönsüz, ağırlıklı veya ağırlıksız olabilir.
Karma tablosu: Anahtar-değer çiftleri koleksiyonu. Hızlı erişim için hash fonksiyonu kullanır. Çakışmalar olabilir.
iOS'ta kullanım örnekleri:
- Diziler:
Array - Listeler: Dahili sınıf yok, diziler veya özel yapılar temel alınır
- Yığınlar/Kuyruklar: Diziler veya listeler temel alınarak uygulanır
- Ağaçlar: Çerçevelerde kullanılır, örneğin UI (görünüm hiyerarşisi)
- Grafikler: Bağlantıları temsil etmek için, örneğin ağlar
- Karma tabloları:
Dictionary,Set
// Dizi örneği
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // İndeks ile erişim
// Sözlük örneği (karma tablo)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Anahtar ile erişim