Sobes.tech
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) бўлган операция.