Sobes.tech
Junior

Hansı məlumat strukturları mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

Məlumatların strukturları iki əsas kateqoriyaya bölünür:

  1. Xətti: Elementlər ardıcıl yerləşdirilib.

    • Massiv (Array): Sabit ölçülü, indekslə birbaşa giriş.
      int[] numbers = { 1, 2, 3, 4, 5 }; // Nümunə elan
      
    • Siyahı (List): Dinamik ölçülü, elementlər əlavə olunur və silinir.
      System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>();
      names.Add("Alice");
      names.Add("Bob");
      
    • Bağlı siyahı (Linked List): Elementlər (düyünlər) növbəti (və ya əvvəlki) elementə istinad edir.
      • Sadə bağlı
      • İkiqat bağlı
      System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>();
      letters.AddLast('A');
      letters.AddLast('B');
      
    • Yığın (Stack): Son daxil olan, ilk çıxar (LIFO).
      System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>();
      stack.Push(10); // Elementi yığının üstünə əlavə et
      int item = stack.Pop(); // Elementi çıxar və qaytar
      
    • Kuyruk (Queue): İlk daxil olan, ilk çıxar (FIFO).
      System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>();
      queue.Enqueue("Tapşırıq 1"); // Elementi sona əlavə et
      string task = queue.Dequeue(); // Elementi başdan çıxar və qaytar
      
  2. Xətti olmayan: Elementlər ardıcıl deyil.

    • Ağac (Tree): Hierarxik struktur, kök və törəmələr.
      • İkili ağac
      • B-ağac
      • Qırmızı-qaranlıq ağac
      • AVL ağacı
    • Qraf (Graph): Düyüklər (nöqtələr) və onların arasındakı əlaqələr.
      • İstiqamətli (Directed)
      • İstiqamətsiz (Undirected)
    • Hash cədvəli (Hash Table) / Sözlük (Dictionary): Cütlüklər, açar-dəyər cütlüklərini saxlayır, sürətli axtarış üçün hash funksiyasından istifadə edir.
      System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>();
      ageByName.Add("Charlie", 30);
      int age = ageByName["Charlie"]; // Sürətli giriş
      
    • Set (Toplu): Unikal elementlər toplusu, müəyyən bir sırası yoxdur.
      System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>();
      uniqueNumbers.Add(5);
      uniqueNumbers.Add(10);
      uniqueNumbers.Add(5); // Dublikat əlavə olunmayacaq