Sobes.tech
Junior — Middle

Ҳаҷми вақти амали илова кардани унсур ба охири массив бо истифода аз slice чӣ қадар аст?

sobes.tech AI

Ҷавоб аз AI

Дар Го, амалиёти илова кардани элемент ба охири слайс (append) дорои мураккабии вақтии амортизатсионӣ O(1) мебошад.

Тавзеҳ:

  • Агар слайс қобилияти кофӣ дошта бошад (capacity), илова кардани элемент одатан бо навишт ба индекси озодии оянда — ин амал дар вақти доимӣ анҷом меёбад.

  • Агар қобилияти кофӣ набошад, массиви нав бо андозаи калонтар таъин мешавад, элементҳои кӯҳнаро нусхабардорӣ мекунанд ва элемент нав илова мешавад — ин амал O(n) вақт мегирад, ки n андозаи ҳозираи слайс аст.

Аммо, бо сабаби он ки чунин такрорҳо дар ҳар илова рух намедиҳанд, балки танҳо дар давраҳо, мураккабии миёна (амортизатсионӣ) барои илова кардан боқӣ мемонад O(1).