Sobes.tech
Junior — Middle

Aké je časové náklady operácie pridania prvku na koniec zoznamu?

sobes.tech AI

Odpoveď od AI

V C# operácia pridania prvku na koniec zoznamu List<T> má zvyčajne amortizovanú časovú zložitosť O(1). To znamená, že v priemere sa pridanie vykonáva v konštantnom čase.

Avšak, ak je vnútorný poľ, ktorý podporuje List<T>, plný, dôjde k jeho rozšíreniu (kopírovaniu prvkov do nového poľa väčšej veľkosti), čo trvá O(n) času, kde n je aktuálna veľkosť zoznamu.

Takže, vo väčšine prípadov je pridanie prvku na koniec zoznamu rýchle, ale občas môže byť nákladnejšie kvôli redistribúcii pamäti.