O algoritmo QuickSort usa uma técnica conhecida por divisão e conquista, onde problemas complexos são reduzidos em problemas menores para se tentar chegar a uma solução. A complexidade média deste algoritmo em sua implementação padrão e a complexidade de pior caso são, respectivamente,
a)O(n-1) e Ο(n³).
b)Ο(n²) e Ο(n log n²).
c)O(n²) e O(n³).
d)Ο(n) e Ο(n²).
e)Ο(n log n) e Ο(n²).

Considere o algoritmo abaixo.
static int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n – 2) + fibonacci(n – 1);
}
A complexidade deste algoritmo, na notação Big O, é

a)O(2ⁿ).
b)O(n²).
c)O(n).
d)O(log(n)).
e)O(n⁴).
Gabarito:
E – B –