Curso Fundamentos das Estruturas de Dados
Complexidade Computacional
Olá! Seja bem-vindo a primeira aula teórica do curso de Estrutura de Dados 😄
Nesta aula você irá aprender como analisar a complexidade (velocidade) do seu código. Esta aula é dividida em 3 partes, sendo elas:
- O que é análise de complexidade;
- Notação big-O;
- Grupos de complexidade.
Então, sem mais delongas, vamos começar!
O que é análise de complexidade
Em algum momento, como programador, você já deve ter se questionado o quão "rápido" um algoritmo feito por você é, ou se seu algoritmo executa todas as instâncias de um problema em dado tempo.
Analisar a complexidade de um algoritmo é uma importante habilidade que lhe permite estimar o tempo que seu algoritmo gastaria para executar uma entrada de tamanho
Uma forma de estimar a complexidade de um algoritmo é analisar a quantidade de repetições executadas pelo algoritmo. Essas repetições podem ser fruto de laços de repetição (comandos while ou for, por exemplo) ou de funções recursivas. Observe o trecho de código a seguir:
for(int i = 0; i < n; i++)