Junior — Middle
Чӣ гуна вақт барои хориҷ кардани унсури аз массив?
sobes.tech AI
Ҷавоб аз AI
Вақтли мураккаблик массивдан элементни ўчириш вақтида элементнинг жойлашган жойига ва массив қандай амалга оширилганига боғлиқ.
-
Агар индекс бўйича элементни ўчириш керак бўлса, динамик массивда (масалан, Dart/Flutterда List) ўчиргандан кейин, барча кейинги элементлар сурилишади, бўш жой тўлдирилади. Бу вақт мураккаблиги O(n) га олиб келади, бу ерда n — ўчирилган элементдан кейинги элементлар сони.
-
Агар охирги элемент ўчирилса, операция O(1) да амалга оширилади, чунки сурилиш керак эмас.
Dartда мисол:
List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2); // индекс 2даги элементни (рақам 3) ўчиради
// ўчиргандан кейин, индекслари 3 ва 4 бўлган элементлар солға сурилади
Умуман олганда, массивдан элементни ўчириш — вақт мураккаблиги O(n) бўлган операция.