Sobes.tech
Junior — Middle

Ulaning elementni yangilash operatsiyasining algoritmik murakkabligini qanday baholash mumkin?

sobes.tech AI

AIdan javob

O'zbek tarmog'ida elementni yangilash odatda avvalo bu elementni topishni va keyin uning qiymatini o'zgartirishni talab qiladi.

  • Agar sizda kerakli tugun uchun ko'rsatkich yoki havola bo'lsa, qiymatni yangilash O(1) operatsiyasidir.
  • Agar avvalo elementni indeks yoki qiymat bo'yicha topish kerak bo'lsa, qidiruv O(n) davom etadi, bu yerda n - ro'yxatdagi elementlar soni.

Dart (Flutter) misoli:

class Node {
  int value;
  Node? next;

  Node(this.value);
}

void updateNodeValue(Node head, int index, int newValue) {
  Node? current = head;
  int i = 0;
  while (current != null && i < index) {
    current = current.next;
    i++;
  }
  if (current != null) {
    current.value = newValue; // O(1) yangilash
  }
}

Umuman olganda, indeks bo'yicha elementni yangilashning umumiy murakkabligi — O(n), agar tugunga to'g'ridan-to'g'ri kirish imkoniyati bo'lmasa.