Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BogoSort 2.0

1,201 views

Published on

Palestra Relampago apresentada na pythonbrasil[5] em caxias do sul.

  • Be the first to comment

  • Be the first to like this

BogoSort 2.0

  1. 1. BogoSort 2.0 Henr“ikke” G. G. Pereira @ikkebr
  2. 2. http://en.wikipedia.org/wiki/Infinite_monkey_theorem
  3. 3. BogoSort
  4. 4. BogoSort enquanto Lista não ordenada: embaralhe Lista
  5. 5. BogoSort (em Python)
  6. 6. Quando usar • Quando um código roda rápido demais. • Quando se deseja mostrar a um cliente como ficaria o programa se ele fosse feito em Java. • Em apresentações como essa.
  7. 7. Análise (número de shuffles) 3500 3000 2500 2000 Mínimo de Shuffles Máximo de Shuffles 1500 Média de Shuffles 1000 500 0 3 elementos 4 elementos 5 elementos 6 elementos
  8. 8. + Benchmark 35000 30000 25000 20000 Mínimo de Shuffles Máximo de Shuffles 15000 Média de Shuffles 10000 5000 0 3 elementos 4 elementos 5 elementos 6 elementos 7 elementos
  9. 9. ++ Benchmark 1400000 1200000 1000000 800000 Mínimo de Shuffles Máximo de Shuffles 600000 Média de Shuffles 400000 200000 0 3 elementos 4 elementos 5 elementos 6 elementos 7 elementos 8 elementos 9 elementos
  10. 10. Listas com tamanho 10 6000000 5000000 4000000 Mínimo de Shuffles 3000000 Máximo de Shuffles Média de Shuffles 2000000 1000000 0 3 elementos 4 elementos 5 elementos 6 elementos 7 elementos 8 elementos 9 elementos 10 elementos
  11. 11. Extrapolando um pouco
  12. 12. Conclusões • O BogoSort funciona bem até 7 elementos.
  13. 13. Conclusões • Com o aumento do número de elementos em uma lista, o tempo de execução do BogoSort tende ao tempo de inicialização do Eclipse.
  14. 14. Conclusões • A sorte é relativa.
  15. 15. Conclusões • Python é melhor que Java.
  16. 16. Obrigado! Henr“ikke” G. G. Pereira ikke@acidhacker.com @ikkebr

×