No site Sorting Algorithms , é feita a seguinte reivindicação:
O algoritmo de classificação ideal teria as seguintes propriedades:
- Estável: chaves iguais não são reordenadas.
- Opera no local, exigindo espaço extra.
- No pior dos casos, comparações de teclas .
- Na pior das hipóteses, swaps.
- Adaptável: acelera até quando os dados são quase classificados ou quando há poucas chaves exclusivas.
Não há algoritmo que possua todas essas propriedades e, portanto, a escolha do algoritmo de classificação depende do aplicativo.
Minha pergunta é: é verdade que
não existe um algoritmo de [classificação] que possua todas essas propriedades
e se sim, por que? O que há nessas propriedades que impossibilitam todas elas simultaneamente?