---
title: Custo de execução de uma função
description: Custo de execução de uma função
tags: Estrutura de dados 2
---
# Custo de execução de uma função
### Oque afeta?
A unica coisa relevante que aumenta o custo de uma execução, é
a **quantidade e tipos de loop** presentes nas funçoes.
### Qual custo importa?
Apenas o **pior caso**(BIG O) é levado consideração, pois se a função estiver aceitavel na pior situação, no melhor e medio estara excelente.
### Como analisar?
So se verifica o maior expoente da expressão.

### Quais caracteristicas devem ser investigadas?
* Tempo de execução
* Quantidade de memória
### Tipos de medição de função
| Tipos | Oque é? |
| --------------------- | ---------------------------------------------------------------------------- |
| Complexidade de tempo | f(n): mede o tempo para execução de um algoritimo, com problema de tamanho n |
| Complexidade de espaço| f(n): mede a memoria necessaria para executar um algoritimo, com problema de tamanho n |
### Hierarquia de funções(Classes Assintóticas)
| | Tipo |
| --------------- | -------------------- |
| **Maior custo** | Expressão cubica: n³ |
| | Expressão constante elevada: 3^n|
| | Expressão quadratica: n²|
| | Expressão linearitimetica: n log n|
| | Expressão linear: n|
| | Expressão logaritimica: log n|
|**Menor custo** |Expressão constante: 1|
### Custo de cada estrutura
| Tipo | Custo |
| ----- | ---------------------------------------- |
| Pilha | O(1), para adição e remoção de elementos |
| Filas | O(1), para adição e remoção de elementos |
| Lista ligada | O(1), para adição é remoção de elementos, sempre no inicio, caso tenha que percorrer a lista para algo será O(N)|