Sobes.tech
Junior — Middle

Каква е времевата сложност на операцията по изтриване на елемент от масив?

sobes.tech AI

Отговор от AI

Времевата сложност при изтриване на елемент от масив зависи от това къде се намира елементът и как е реализиран масивът.

  • Ако трябва да изтриете елемент по индекс, в динамичен масив (например, List в Dart/Flutter), след изтриването всички следващи елементи се преместват, за да запълнят празното място. Това води до времева сложност O(n), където n е броят на елементите след изтрития.

  • Ако изтриете последния елемент, операцията се изпълнява за O(1), тъй като не е необходим преместване.

Пример в Dart:

List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2); // изтрива елемента на индекс 2 (числото 3)
// след изтриването елементите с индекси 3 и 4 се преместват наляво

Общо взето, изтриването на елемент от масив е операция с времева сложност O(n).