Sobes.tech
Junior — Middle

Kāda ir laika sarežģītība, pievienojot elementu masīva sākumā?

sobes.tech AI

Atbilde no AI

Elementa pie sākuma pievienošana masīvam parasti ir ar laika sarežģītību O(n), kur n ir elementu skaits masīvā.

Tas ir tāpēc, ka, lai pievienotu sākumā, ir jāpārvieto visi esošie elementi pa labi, lai atbrīvotu vietu jaunajam elementam. Dinamiskiem masīviem (piemēram, Swift Array) šis process prasa elementu kopēšanu vai pārvietošanu, kas aizņem laiku proporcionālu elementu skaitam.

Piemērs:

var array = [2, 3, 4]
array.insert(1, at: 0) // pievienojam 1 sākumā
print(array) // [1, 2, 3, 4]

Šeit, pievienojot 1, visi elementi tiek pārvietoti par vienu pozīciju pa labi.