Junior — Middle
Mi az időbeli komplexitása egy elem hozzáadásának a tömb elejéhez?
sobes.tech MI
Válasz az MI-től
Egy elem hozzáadása a tömb elejére általában O(n) időkomplexitással jár, ahol n a tömbben lévő elemek száma.
Ez azért van, mert a kezdő pozícióba történő beszúráshoz minden meglévő elemet jobbra kell tolni, hogy helyet csináljunk az új elemnek. Dinamikus tömbökben (például Swift Array) ez a folyamat az elemek másolását vagy tolását igényli, ami az elemek számával arányos időt vesz igénybe.
Példa:
var array = [2, 3, 4]
array.insert(1, at: 0) // beszúrjuk az 1-et a kezdő pozícióba
print(array) // [1, 2, 3, 4]
Itt, amikor az 1-et beszúrjuk, minden elem egy pozícióval jobbra tolódik.