Middle
Python listesine bir öğe eklemenin zaman karmaşıklığı nedir, sonuna, başına ve ortasına?
sobes.tech yapay zeka
AI'dan gelen yanıt
Python'da listeler dinamik diziler olarak uygulanır, bu nedenle işlemlerin zaman karmaşıklığı ekleme konumuna bağlıdır:
- Sonuna ekleme (
list.append(element)) — amortize O(1), çünkü genellikle alan vardır, ancak bazen bellek yeniden tahsisi yapılır. - Başlangıca ekleme (
list.insert(0, element)) — O(n), çünkü tüm öğeler sağa kaydırılır. - Ortaya ekleme (
list.insert(index, element)) — aynı zamanda O(n), çünkü indeks sonrası öğeler kaydırılır.
Bu nedenle, başlangıca veya ortaya verimli ekleme yapmak için collections.deque gibi diğer veri yapıları kullanmak daha iyidir.