Sobes.tech
Junior — Middle

Əlaqəli siyahının sonuna element əlavə etmə əməliyyatının vaxt mürəkkəbliyi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Bağlı siyahının sonuna element əlavə etmə əməliyyatının vaxt mürəkkəbliyi siyahının son elementinə göstərici (pointer) olub-olmamasından asılıdır.

  • Əgər göstərici (tail) varsa, əlavə etmə O(1) vaxt alır, çünki yeni elementi dərhal tail-dən sonra əlavə etmək mümkündür.
  • Əgər tail göstəricisi yoxdursa, bütün siyahını keçib son elementi tapmaq lazımdır və bu zaman mürəkkəblik O(n) olur, burada n siyahıdakı elementlərin sayıdır.

Tail göstəricisi ilə nümunə:

class LinkedList {
    Node head;
    Node tail;

    void addLast(int value) {
        Node newNode = new Node(value);
        if (head == null) {
            head = newNode;
            tail = newNode;
        } else {
            tail.next = newNode;
            tail = newNode;
        }
    }
}