Məzmuna keçin

Data strukturu

Data strukturu, verilənlərin yaddaşda səmərəli şəkildə istifadə olunması üçün təşkil edilmə üsuludur.

7 Mövzular 10 Yazılar
  • Doubly Linked List məlumat strukturu

    dll linked list data structure
    2
    2 Yazılar
    26 Baxışlar
    codexC
    Doubly Linked List-in Typescript-də full implementasiyası // Node classı class Node<T> { value: T; // Dəyər next: Node<T> | null; // Növbəti qovşağa işarə prev: Node<T> | null; // Əvvəlki qovşağa işarə constructor(value: T) { this.value = value; this.next = null; this.prev = null; } } // DLL classı class DoublyLinkedList<T> { head: Node<T> | null; // Baş qovşaq tail: Node<T> | null; // Sonuncu qovşaq length: number; // Siyahının uzunluğu constructor() { this.head = null; this.tail = null; this.length = 0; } // Siyahının sonuna element əlavə etmək push(value: T): this { const newNode = new Node(value); if (!this.head) { // Siyahı boşdursa, həm head, həm tail eyni node olur this.head = newNode; } else { if (this.tail) { this.tail.next = newNode; newNode.prev = this.tail; } } this.tail = newNode; this.length++; return this; } // Siyahının sonundan element silmək pop(): Node<T> | undefined { if (!this.head) return undefined; const removed = this.tail!; if (this.length === 1) { // Siyahıda tək element varsa, hər ikisi də `null` olur this.head = null; this.tail = null; } else { this.tail = removed.prev; if (this.tail) this.tail.next = null; removed.prev = null; } this.length--; return removed; } // Siyahının əvvəlindən element silmək shift(): Node<T> | undefined { if (!this.head) return undefined; const removed = this.head; if (this.length === 1) { this.head = null; this.tail = null; } else { this.head = removed.next; if (this.head) this.head.prev = null; removed.next = null; } this.length--; return removed; } // Siyahının əvvəlinə element əlavə etmək unshift(value: T): this { const newNode = new Node(value); if (!this.head) { this.head = newNode; this.tail = newNode; } else { this.head.prev = newNode; newNode.next = this.head; this.head = newNode; } this.length++; return this; } // Verilmiş indeksə əsasən qovşağı əldə etmək get(index: number): Node<T> | null { if (index < 0 || index >= this.length) return null; let current: Node<T>; let count: number; // İndeks siyahının ortasından əvvəldirsə, başdan axtar if (index <= this.length / 2) { current = this.head!; count = 0; while (count !== index) { current = current.next!; count++; } } else { // Ortanı keçibsə, sondan axtar current = this.tail!; count = this.length - 1; while (count !== index) { current = current.prev!; count--; } } return current; } // Verilmiş indeksdəki qovşağın dəyərini dəyişmək set(index: number, value: T): boolean { const node = this.get(index); if (node) { node.value = value; return true; } return false; } // Verilmiş indeksə yeni qovşaq əlavə etmək insert(index: number, value: T): boolean { if (index < 0 || index > this.length) return false; if (index === 0) return !!this.unshift(value); if (index === this.length) return !!this.push(value); const newNode = new Node(value); const before = this.get(index - 1); const after = before!.next; before!.next = newNode; newNode.prev = before; newNode.next = after; if (after) after.prev = newNode; this.length++; return true; } // Verilmiş indeksdəki qovşağı silmək remove(index: number): Node<T> | undefined { if (index < 0 || index >= this.length) return undefined; if (index === 0) return this.shift(); if (index === this.length - 1) return this.pop(); const removed = this.get(index)!; const before = removed.prev!; const after = removed.next!; before.next = after; after.prev = before; removed.next = null; removed.prev = null; this.length--; return removed; } // Siyahını array kimi qaytarmaq (debug üçün) toArray(): T[] { const result: T[] = []; let current = this.head; while (current) { result.push(current.value); current = current.next; } return result; } } Jenny “bajı” qəşşəng başa salır. Baxmağa dəyər https://www.youtube.com/watch?v=nquQ_fYGGA4
  • Singly Linked List məlumat strukturu

    singly linked list data structure
    2
    2 Yazılar
    33 Baxışlar
    codexC
    AzePUG-dan möhtəşəm izahı. Düşünürəm bundan daha geniş izahını tapmaq çətin olar. https://github.com/AzePUG/Data_Structures_Algo_Python/blob/master/book/3.Birtərəfli_Əlaqəli_listlər_singly_linked_lists.md
  • Stack məlumat strukturu

    stack structure lifo
    2
    2 Yazılar
    50 Baxışlar
    codexC
    Azerbaijan Python User Group-dan Şəhriyar abimizin Stack-la bağlı paylaşdığı gözəl yazısı. https://github.com/AzePUG/Data_Structures_Algo_Python/blob/master/book/6.Stack_Yığın.md
  • Tree (BST) məlumat strukturu

    tree bfs dfs bst structure
    1
    1
    1 Yazılar
    13 Baxışlar
    Heç kim cavab yazmayıb
  • Binary Heap məlumat strukturu

    binary heap graph data structure
    1
    1 Yazılar
    21 Baxışlar
    Heç kim cavab yazmayıb
  • Graph məlumat strukturu

    graph data structure vertex non-linear
    1
    1
    1 Yazılar
    11 Baxışlar
    Heç kim cavab yazmayıb
  • Queue məlumat strukturu

    queue dequeue fifo datatype
    1
    1 Yazılar
    22 Baxışlar
    Heç kim cavab yazmayıb