--- 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. ![](https://i.imgur.com/IUYUluM.png) ### 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)|