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;
}
}
}