Sobes.tech
Junior

Кайсы маалыматтык түзүмдөр бар?

sobes.tech AI

AIден жооп

Маалымат түзүмдөрү эки негизги категорияга бөлүнөт:

  1. Linearly: Элементтер үзгүлтүксүз жайгашкан.

    • Массив (Array): Туура өлчөмдүү, түздөн-түз индекске кирүү.
      int[] numbers = { 1, 2, 3, 4, 5 }; // Мисал билдирүү
      
    • Тизмек (List): Динамик өлчөм, элементтер кошулуп жана алынып салынат.
      System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>();
      names.Add("Alice");
      names.Add("Bob");
      
    • Байланыштуу тизмек (Linked List): Элементтер (түйүндөр) кийинки (жана, мүмкүн, мурунку) шилтемеге ээ.
      • Бир тараптуу
      • Эки тараптуу
      System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>();
      letters.AddLast('A');
      letters.AddLast('B');
      
    • Стек (Stack): Акыркы келген - биринчи чыгат (LIFO).
      System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>();
      stack.Push(10); // Элемент кошуу
      int item = stack.Pop(); // Элементти алып салуу жана кайтаруу
      
    • Кийинки (Queue): Биринчи келген - биринчи чыгат (FIFO).
      System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>();
      queue.Enqueue("Task 1"); // Элемент кошуу
      string task = queue.Dequeue(); // Элементти алып салуу жана кайтаруу
      
  2. Нелинейдүү: Элементтер үзгүлтүксүз жайгашкан эмес.

    • Ағаш (Tree): Иерархиялык структура, түпкү түйүн жана балдар.
      • Экилик дарак
      • B-дарагы
      • Кызыл-кара дарак
      • AVL дарагы
    • Граф (Graph): Түйүндөрдүн (вузулардын) жана байланыштардын (связей) топтому.
      • багытталган (Directed)
      • багытталбаган (Undirected)
    • Hash-таблица (Hash Table) / Сөздүк (Dictionary): ачкыч-баалуулук парларын сактайт, тез издөө үчүн хеш-функцияны колдонуу.
      System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>();
      ageByName.Add("Charlie", 30);
      int age = ageByName["Charlie"]; // Тез кирүү
      
    • Жыйнак (Set): уникалдуу элементтердин топтому, белгилүү тартипсиз.
      System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>();
      uniqueNumbers.Add(5);
      uniqueNumbers.Add(10);
      uniqueNumbers.Add(5); // Кайталаган элемент кошулбайт