Intern
Mövcud məlumat strukturləri hansılardır?
sobes.tech Süni İntellekt
AI-dan cavab
Əsas məlumat strukturları aşağıdakılardır:
Əsaslar (Primitive):
- Tam ədədlər (Integer)
- Onlu ədədlər (Floating-point numbers)
- Boolean dəyərlər (Boolean)
- Simvollar (Character)
Mürəkkəb (Abstract):
- Array: Eyni tipli elementlərin sıralı toplusu, indekslə giriş üçün sabit vaxt.
- Linked List: Hər biri məlumat və növbəti düyünə istinad edən düyünlər toplusu. Başlama/sonda əlavə etmə/çıxarma effektiv, indekslə giriş - $O(n)$.
- Sadə bağlı siyahı (Singly Linked List)
- İki tərəfli bağlı siyahı (Doubly Linked List)
- Döngəli bağlı siyahı (Circular Linked List)
- Stack: LIFO (Son daxil olan ilk çıxar). Əməliyyatlar: push (əlavə et), pop (sil), peek (üst elementə bax).
struct Stack<Element> { private var elements: [Element] = [] mutating func push(_ element: Element) { elements.append(element) } mutating func pop() -> Element? { return elements.popLast() } func peek() -> Element? { return elements.last } var isEmpty: Bool { return elements.isEmpty } } - Kuyruk (Queue): FIFO (İlk daxil olan ilk çıxar). Əməliyyatlar: enqueue (əlavə et), dequeue (sil), peek (ilk elementə bax).
struct Queue<Element> { private var elements: [Element] = [] mutating func enqueue(_ element: Element) { elements.append(element) } mutating func dequeue() -> Element? { guard !elements.isEmpty else { return nil } return elements.removeFirst() } func peek() -> Element? { return elements.first } var isEmpty: Bool { return elements.isEmpty } } - Hash cədvəli (Hash Table) / Sözlük (Dictionary) / Asosiativ massiv (Associative Array): Açar-dəyər cütləri toplusu, açar vasitəsilə səmərəli axtarış, əlavə və silmə.
var dictionary = [String: Any]() // Swift-də nümunə sözlük dictionary["key1"] = "value1" let value = dictionary["key1"] - Kümə (Set): Sırasız, unikal elementlər toplusu. Əməliyyatlar: əlavə et, sil, mövcudluğunu yoxla, birləşmə, kəsişmə, fərq.
var set: Set<Int> = [1, 2, 3] // Swift-də nümunə kümə set.insert(4) let containsTwo = set.contains(2) - Ağac (Tree): Hierarxik məlumat strukturu, düyünlər və kənarlarla əlaqələndirilmişdir. Kök və törəmə düyünlər.
- İkiyə bölünən ağac (Binary Tree)
- İkiyə bölünən axtarış ağacı (Binary Search Tree - BST)
- Tarazlaşdırılmış ikili ağac (Balanced Binary Tree) - AVL, qırmızı-siyah ağac
- B-Ağacı (B-Tree)
- Qraf (Graph): Düyünlər (vertices) və kənarlar (edges) toplusu, düyünləri birləşdirir. Yönlü və ya yönsüz, çəkili və ya çəkisiz ola bilər.
Bu məlumat strukturlarını anlamaq, səmərəli və miqyaslana bilən kod yazmaq üçün çox vacibdir. Doğru strukturu seçmək, əməliyyatların performans tələblərinə və məlumatların təbiətinə bağlıdır.