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:
-
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
- Dizi (Array): Sabit boyutlu, indeksle doğrudan erişim.
-
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
- Ağaç (Tree): Kök düğüm ve alt dallardan oluşan hiyerarşik yapı.