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).