Essa probabilidade ai é maior do que 1, então você deveria acertar de
primeira ;)
Anyway, se a sua seq tem 60 elementos diferentes então a prob de com um
shuffle ela ficar ordenada é 1/(60!) (e não 1/(60^60) como você quiz dizer).
Se tiver elementos repetidos, a prob obviamente será maior :)
[ ]'
Probabilidade é:
60 ^ 60 = 4.8873678 × 10^106
Se for esta mesma, terei q ter muita sorte!
2011/5/20 Wesley Seidel
> Cara...
> Vai ser uma sorte incomensurável se o chute randomico de 60 elementos serem
> realmente ordenados.
> Talvez seja hora de vc parar a execução... ;)
> Porém se quiser deixa
Cara...
Vai ser uma sorte incomensurável se o chute randomico de 60 elementos serem
realmente ordenados.
Talvez seja hora de vc parar a execução... ;)
Porém se quiser deixar rodando, talvez em alguns dias/meses ele consiga,
isso vai depender da qualidade do gerador de números aleatórios.
Se com 60
claro, mas tem que falar bonito
2011/5/19 Bruno Buss
> Se você "economizou mais performance", então você deixou o programa mais
> lento?
>
> [ ]'s
>
> 2011/5/19 Renato Santos
>
>> Economizei mais performance:
>> sub is_ordered {
>> my $a = shift;
>> my $numta = 1;
>> for ( my $i = 1
Se você "economizou mais performance", então você deixou o programa mais
lento?
[ ]'s
2011/5/19 Renato Santos
> Economizei mais performance:
> sub is_ordered {
> my $a = shift;
> my $numta = 1;
> for ( my $i = 1 ; $i < @{$a} ; $i++ ) {
> $numta = 0 if ( $a->[ $i - 1 ] > $a->
Economizei mais performance:
sub is_ordered {
my $a = shift;
my $numta = 1;
for ( my $i = 1 ; $i < @{$a} ; $i++ ) {
$numta = 0 if ( $a->[ $i - 1 ] > $a->[$i] && $numta == 1);
}
return 0 if !$numta;
return 1 if $numta;
return undef if (!$numta || $numta); # muito
continua rodando...
2011/5/19 Wesley Seidel
>
>
> 2011/5/19 Renato Santos
>
>> Acho que não faz muita diferença ^ ^
>
>
> Se você estiver com sorte ( mas muita sorte mesmo, daquela de ganhar na
> mega-sena), utilizando a entrada aleatória, é provável q o chute inicial
> seja exatamente a sequen
2011/5/19 Renato Santos
> Acho que não faz muita diferença ^ ^
Se você estiver com sorte ( mas muita sorte mesmo, daquela de ganhar na
mega-sena), utilizando a entrada aleatória, é provável q o chute inicial
seja exatamente a sequencia ordenada. Porém do jeitoq que vc fez, relamente
isso não ac
Acho que não faz muita diferença ^ ^
2011/5/19 Alexei Znamensky
> cron, melhor gerar com números aleatórios
>
>
> 2011/5/19 Renato Santos
>
>> ta rodando
>> mas o resultado eu sei, será 60 elementos ordernados ^^
>>
>> use Data::Dumper;
>> use List::Util qw(shuffle);
>>
>> sub bogosort {
>>
cron, melhor gerar com números aleatórios
2011/5/19 Renato Santos
> 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,
So pra lembrar, ja rodei algo semelhante:
20m55.517s
Este foi o tempo que demorou para rodar o KickSort em Java.
Acho que estava com bastante sorte no dia
2011/5/19 Renato Santos
> ta rodando
> mas o resultado eu sei, será 60 elementos ordernados ^^
>
> use Data::Dumper;
> use List::Util qw(s
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") {
Não precisa ser 100k não.
Ponha apenas 60 elementos e dê-nos o resultado.
:D
2011/5/19 Bruno Buss
> Agora testa ai com 100k elementos :)
>
>
> [ ]'s
>
> 2011/5/19 Renato Santos
>
>> Me pareceu tão rapido...
>> use Data::Dumper;
>> use List::Util qw(shuffle);
>>
>> sub bogosort {
>> my @a =
Agora testa ai com 100k elementos :)
[ ]'s
2011/5/19 Renato Santos
> 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);
> }
>
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@renato-desktop:/projetos/youdb/nestle/datamo
2011/5/19 Wesley Seidel
> 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:
16 matches
Mail list logo