Sobes.tech
Junior

Hangi veri yapıları vardır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Veri yapıları iki ana kategoriye ayrılır:

  1. Doğrusal: Öğeler sıralı olarak düzenlenmiştir.

    • Dizi (Array): Sabit boyutlu, indeksle doğrudan erişim.
      int[] numbers = { 1, 2, 3, 4, 5 }; // Örnek deklarasyon
      
    • Liste (List): Dinamik boyutlu, öğeler eklenip kaldırılır.
      System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>();
      names.Add("Alice");
      names.Add("Bob");
      
    • Bağlı liste (Linked List): Öğeler (düğümler) bir sonraki (ve muhtemelen önceki) öğeye referans içerir.
      • Tek yönlü bağlı
      • Çift yönlü bağlı
      System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>();
      letters.AddLast('A');
      letters.AddLast('B');
      
    • Yığın (Stack): Son giren ilk çıkar (LIFO).
      System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>();
      stack.Push(10); // Öğeyi yığının tepesine ekle
      int item = stack.Pop(); // Öğeyi çıkar ve döndür
      
    • Kuyruk (Queue): İlk giren ilk çıkar (FIFO).
      System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>();
      queue.Enqueue("Görev 1"); // Öğeyi sona ekle
      string task = queue.Dequeue(); // Öğeyi baştan çıkar ve döndür
      
  2. Doğrusal olmayan: Öğeler sıralı değildir.

    • Ağaç (Tree): Kök düğüm ve alt dallardan oluşan hiyerarşik yapı.
      • İkili ağaç
      • B-ağacı
      • Kırmızı-siyah ağaç
      • AVL ağacı
    • Graf (Graph): Düğümler (kesişmeler) ve bunlar arasındaki bağlantılar.
      • Yönlendirilmiş (Directed)
      • Yönlendirilmemiş (Undirected)
    • Hash Tablosu (Hash Table) / Sözlük (Dictionary): Anahtar-değer çiftleri saklar, hızlı arama için hash fonksiyonu kullanır.
      System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>();
      ageByName.Add("Charlie", 30);
      int age = ageByName["Charlie"]; // Hızlı erişim
      
    • Küme (Set): Benzersiz öğelerden oluşan, belirli bir sırası olmayan koleksiyon.
      System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>();
      uniqueNumbers.Add(5);
      uniqueNumbers.Add(10);
      uniqueNumbers.Add(5); // Çiftlik eklenmez