[SP-pm] [OT] Algorítimos de ordenação - performance artística

Renato Santos renato.cron at gmail.com
Thu May 19 09:24:47 PDT 2011


Acho que não faz muita diferença ^ ^


2011/5/19 Alexei Znamensky <russoz at gmail.com>

> cron, melhor gerar com números aleatórios
>
>
> 2011/5/19 Renato Santos <renato.cron at gmail.com>
>
>> ta rodando
>> mas o resultado eu sei, será 60 elementos ordernados ^^
>>
>> use Data::Dumper;
>> use List::Util qw(shuffle);
>>
>>  sub bogosort {
>>     my @a = @_;
>>     my @sorted = sort {$a <=> $b} @a;
>> print "Em ordem é @sorted, mas vale a pena conferir se você está com
>> sorte\n";
>>      while("@a" ne "@sorted") {
>>        @a = shuffle(@a);
>>     }
>>     return @a;
>>  }
>>
>> @b = (30..60, 0..30); # too complex order
>>
>> print Dumper  bogosort(@b);
>> renato at renato-desktop:/projetos/youdb/nestle/datamotion_ps$ time perl
>> /tmp/xxx.pl2
>> Em ordem é 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
>> 24 25 26 27 28 29 30 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
>> 48 49 50 51 52 53 54 55 56 57 58 59 60, mas vale a pena conferir se você
>> está com sorte
>>
>>
>> 2011/5/19 Wesley Seidel <wesley.seidel at gmail.com>
>>
>>> Não precisa ser 100k não.
>>> Ponha apenas 60 elementos e dê-nos o resultado.
>>> :D
>>>
>>>
>>> 2011/5/19 Bruno Buss <bruno.buss at gmail.com>
>>>
>>>> Agora testa ai com 100k elementos :)
>>>>
>>>>
>>>> [ ]'s
>>>>
>>>> 2011/5/19 Renato Santos <renato.cron at gmail.com>
>>>>
>>>>> Me pareceu tão rapido...
>>>>> use Data::Dumper;
>>>>> use List::Util qw(shuffle);
>>>>>
>>>>>  sub bogosort {
>>>>>     my @a = @_;
>>>>>     my @sorted = sort {$a <=> $b} @a;
>>>>>     while("@a" ne "@sorted") {
>>>>>        @a = shuffle(@a);
>>>>>     }
>>>>>     return @a;
>>>>>  }
>>>>>
>>>>> @b = (4,56,8,5,2,5,6,4);
>>>>> renato at renato-desktop:/projetos/youdb/nestle/datamotion_ps$ time perl
>>>>> /tmp/xxx.pl2
>>>>> $VAR1 = 2;
>>>>> $VAR2 = 4;
>>>>> $VAR3 = 4;
>>>>> $VAR4 = 5;
>>>>> $VAR5 = 5;
>>>>> $VAR6 = 6;
>>>>> $VAR7 = 8;
>>>>> $VAR8 = 56;
>>>>>
>>>>> real 0m0.058s
>>>>> user 0m0.052s
>>>>> sys 0m0.000s
>>>>>
>>>>> print Dumper  bogosort(@b);
>>>>>
>>>>> 2011/5/19 Nelson Ferraz <nferraz at gmail.com>
>>>>>
>>>>>> 2011/5/19 Wesley Seidel <wesley.seidel at gmail.com>
>>>>>> > ahahaha
>>>>>> > Se levou tudo isso com um quicksort, imagine o tempo pra fazer essa
>>>>>> dança com um bubblesort.
>>>>>>
>>>>>> Imagina então um bogosort. :D
>>>>>>
>>>>>> http://en.wikipedia.org/wiki/Bogosort
>>>>>> =begin disclaimer
>>>>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> =end disclaimer
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Renato Santos
>>>>> http://www.renatocron.com/blog/
>>>>>
>>>>> =begin disclaimer
>>>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> =end disclaimer
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Bruno C. Buss
>>>> http://brunobuss.wordpress.com/
>>>> http://www.dcc.ufrj.br/~brunobuss/
>>>>
>>>> =begin disclaimer
>>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>> =end disclaimer
>>>>
>>>>
>>>
>>>
>>> --
>>> Wesley Seidel Carvalho
>>> 11-6671-6118
>>> 11-8169-1163
>>> http://twitter.com/wseidel
>>>
>>>
>>>
>>> =begin disclaimer
>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>>
>> --
>> Renato Santos
>> http://www.renatocron.com/blog/
>>
>> =begin disclaimer
>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> Alexei "RUSSOZ" Znamensky
> [russoz_gmail_com] [russoz.wordpress.com] [www.flickr.com/photos/alexeiz]
> [https://github.com/russoz]
> Only love / Can bring the rain / That makes you yearn to the sky
>
>
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
Renato Santos
http://www.renatocron.com/blog/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20110519/c13fe57d/attachment-0001.html>


More information about the SaoPaulo-pm mailing list