---
tags: Lab_ICC_II
---
<center>
<h3>
Universidade de São Paulo (USP)<br>
Instituto de Ciências Matemáticas e de Computação (ICMC)<br>
</h3>
<h3>
Bacharelado de Ciências de Computação<br>
Disciplina: Laboratório de Introdução à Ciência da Computação II<br>
Professor: Leonardo Pereira<br><br>
Aluno: Guilherme Machado Rios (11222839)
</h3>
<h1>
Análise sobre desempenho de algoritmos de ordenação
</h1>
</center>
## Introdução
Será feita a análise de desempenho/comparção dos algortimos de ordenação bubble sort, insertion sort, e merge sort.
## Bubble Sort
[](https://freeimage.host/i/3hdZ8B)
Como podemos observar, o gráfico tem comportamento exponecial; uma vez que o bubble sort tem complexidade ***O(n²)***. Um dos algoritmos mais simples de ordenação, que pelos seus loops concatenados acaba sendo custoso para ***n*** muito grandes.
## Insertion Sort
[](https://freeimage.host/i/3hdtyP)
Como podemos observar, assim como no exemplo anterior, o gráfico tem comportamento exponecial; uma vez que o insertion sort também tem complexidade ***O(n²)***. Outro algoritmo simples de ordenação, que acaba sendo muito custoso em casos onde o ***n*** é muito grande.
## Merge Sort
[](https://freeimage.host/i/3hJ4gp)
Como podemos observar, o comportamento desse gráfico se mostrou como esperado; uma vez que o merge sort tem complexidade ***O(n\*log(n))***. Um algoritmo mais otimizado quando comparado aos demais pelo seu método de ***divisão e conquista***.
## Comparação
Os dois primeiros algoritmos se mostraram bem parecidos, algo esperado já que suas implementações são bem similares. O terceiro método se distinguiu, dado sua grande diferença com relação a implementação.