[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