SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
BogoSort 2.0

Henr“ikke” G. G. Pereira
       @ikkebr
http://en.wikipedia.org/wiki/Infinite_monkey_theorem
BogoSort
BogoSort

enquanto Lista não ordenada:
    embaralhe Lista
BogoSort (em Python)
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.
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
+ 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
++ 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
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
Extrapolando um pouco
Conclusões
• O BogoSort funciona bem até 7 elementos.
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.
Conclusões
• A sorte é relativa.
Conclusões
• Python é melhor que Java.
Obrigado!
Henr“ikke” G. G. Pereira
ikke@acidhacker.com
@ikkebr

Mais conteúdo relacionado

Mais de Henrique Gabriel Gularte Pereira

Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...Henrique Gabriel Gularte Pereira
 
Como não programar em python ou Python Tricks que você ainda não conhecia
Como não programar em python ou Python Tricks que você ainda não conheciaComo não programar em python ou Python Tricks que você ainda não conhecia
Como não programar em python ou Python Tricks que você ainda não conheciaHenrique Gabriel Gularte Pereira
 

Mais de Henrique Gabriel Gularte Pereira (16)

EBAC Django
EBAC DjangoEBAC Django
EBAC Django
 
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
 
Introdução ao Python com Django
Introdução ao Python com DjangoIntrodução ao Python com Django
Introdução ao Python com Django
 
DevOps com Python
DevOps com PythonDevOps com Python
DevOps com Python
 
Como programar como o coelho assassino de caerbannog
Como programar como o coelho assassino de caerbannogComo programar como o coelho assassino de caerbannog
Como programar como o coelho assassino de caerbannog
 
Como não programar em python ou Python Tricks que você ainda não conhecia
Como não programar em python ou Python Tricks que você ainda não conheciaComo não programar em python ou Python Tricks que você ainda não conhecia
Como não programar em python ou Python Tricks que você ainda não conhecia
 
Bogosort [CfC]
Bogosort [CfC]Bogosort [CfC]
Bogosort [CfC]
 
Welcome to the Django
Welcome to the DjangoWelcome to the Django
Welcome to the Django
 
Antigo_Scrum
Antigo_ScrumAntigo_Scrum
Antigo_Scrum
 
Análise do BogoSort
Análise do BogoSortAnálise do BogoSort
Análise do BogoSort
 
Usando o WICD com localizacao fisica de dispositivos
Usando o WICD com localizacao fisica de dispositivosUsando o WICD com localizacao fisica de dispositivos
Usando o WICD com localizacao fisica de dispositivos
 
O Software Livre no Mundo do MicroBlogging
O Software Livre no Mundo do MicroBloggingO Software Livre no Mundo do MicroBlogging
O Software Livre no Mundo do MicroBlogging
 
Estabelecimento e Encerramento de Conexão
Estabelecimento e Encerramento de ConexãoEstabelecimento e Encerramento de Conexão
Estabelecimento e Encerramento de Conexão
 
Olá Python!
Olá Python!Olá Python!
Olá Python!
 
Python no Z6
Python no Z6Python no Z6
Python no Z6
 
Geolocalização com o GMAPS+Wifi
Geolocalização com o GMAPS+WifiGeolocalização com o GMAPS+Wifi
Geolocalização com o GMAPS+Wifi
 

BogoSort 2.0