Sobes.tech
Junior

Qaysi ma'lumotlar tuzilmalari mavjud?

sobes.tech AI

AIdan javob

Ma'lumotlar tuzilmalari ikki asosiy toifaga bo'linadi:

  1. Chiziqli: Elementlar ketma-ket joylashgan.

    • Massiv (Array): Belgilangan o'lcham, indeks bo'yicha to'g'ridan-to'g'ri kirish.
      int[] numbers = { 1, 2, 3, 4, 5 }; // Misol e'lon
      
    • Ro'yxat (List): Dinamik o'lcham, elementlar qo'shiladi va o'chiriladi.
      System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>();
      names.Add("Alice");
      names.Add("Bob");
      
    • Bog'langan ro'yxat (Linked List): Elementlar (tugunlar) keyingi (va ehtimol oldingi) elementga havola qiladi.
      • Yagona bog'langan
      • Juft bog'langan
      System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>();
      letters.AddLast('A');
      letters.AddLast('B');
      
    • Stack (To'plam): Oxirgi kirgan, birinchi chiqadi (LIFO).
      System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>();
      stack.Push(10); // Elementni yuqoriga qo'shish
      int item = stack.Pop(); // Elementni olib tashlash va qaytarish
      
    • Kuyruk (Queue): Birinchi kirgan, birinchi chiqadi (FIFO).
      System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>();
      queue.Enqueue("Vazifa 1"); // Elementni oxiriga qo'shish
      string task = queue.Dequeue(); // Elementni boshidan olib tashlash va qaytarish
      
  2. Nelinеy: Elementlar ketma-ket joylashmagan.

    • Daraxt (Tree): Ierarxik tuzilma, ildiz tugun va avlodlar bilan.
      • Ikki taxtli daraxt
      • B-daraxt
      • Qizil-oq daraxt
      • AVL daraxti
    • Graf (Graph): Tugunlar (vertexlar) va ularni bog'laydigan qirralar.
      • Yo'naltirilgan (Directed)
      • Yo'naltirilmagan (Undirected)
    • Hash jadvali (Hash Table) / Lug'at (Dictionary): Juftliklarni saqlaydi, tez qidirish uchun hash funktsiyasidan foydalanadi.
      System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>();
      ageByName.Add("Charlie", 30);
      int age = ageByName["Charlie"]; // Tez kirish
      
    • To'plam (Set): Unikal elementlar to'plami, ma'lum bir tartibda emas.
      System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>();
      uniqueNumbers.Add(5);
      uniqueNumbers.Add(10);
      uniqueNumbers.Add(5); // Dublikat qo'shilmaydi