Engenharia Estrutural Civil &
Calculando a complexidade do tempo para operações comuns em arrays e listas
Table of Contents
Compreender a complexidade temporal das operações em arrays e listas ajuda na escolha da estrutura de dados correta para tarefas específicas. Fornece insights sobre a eficiência e desempenho de algoritmos envolvendo essas estruturas.
Arrays
Arrays são coleções de tamanho fixo de elementos armazenados em locais de memória contíguos. Operações em arrays têm complexidades de tempo previsíveis devido à sua estrutura.
Acessando Elementos
Aceder a um elemento por índice em um array é muito rápido, com uma complexidade temporal de O(1).
Inserir ou Apagar Elementos
Inserir ou apagar elementos no início ou no meio requer mudar os elementos subsequentes, resultando em uma complexidade temporal de O(n).
Listas Vinculadas
Listas ligadas consistem em nós onde cada nó aponta para o próximo. Eles permitem alocação dinâmica de memória e inserções ou deleções eficientes em posições conhecidas.
Acessando Elementos
Aceder a um elemento requer atravessar da cabeça para o nó desejado, com uma complexidade temporal de O(n).
Inserir ou Apagar Elementos
Inserir ou apagar em uma posição conhecida pode ser eficiente se o nó já estiver localizado, com uma complexidade temporal de O(1). No entanto, localizar o nó geralmente leva O(n).
Resumo das Operações
- [[FLT: 0]]Acesso ao Array: O(1)
- [[FLT: 0]]Array Inserir/Excluir: O(n)
- Acesso à lista de ligações: O(n)
- Lista Vinculada Inserir/Excluir: O(1) se o nó for conhecido, caso contrário O(n)