Sobes.tech
Middle

Qual é a complexidade temporal de adicionar um elemento à lista Python no final, início e meio?

sobes.tech IA

Resposta da IA

Em Python, as listas são implementadas como arrays dinâmicos, portanto, a complexidade temporal das operações depende da posição de inserção:

  • Adicionar ao final (list.append(element)) — O(1) amortizado, pois geralmente há espaço, mas às vezes ocorre uma redistribuição de memória.
  • Adicionar ao início (list.insert(0, element)) — O(n), porque todos os elementos são deslocados para a direita.
  • Adicionar no meio (list.insert(index, element)) — também O(n), pois os elementos após o índice são deslocados.

Portanto, para uma adição eficiente ao início ou ao meio, é melhor usar outras estruturas de dados, como collections.deque.