Curso Fundamentos das Estruturas de Dados

Complexidade Computacional

Página do Curso 19 min Texto por
User Image
Abacate

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++)