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.