Pular para o conteúdo

Busca Binária

Este script faz uma busca binária em um vetor (array), está simples e fácil de ser entendido, lembramos que o vetor deve estar ordenado para que seja possível fazer uma busca binária, para isso vc pode usar meu script de "ordenacao por selecao", qualquer bug encontrado por favor me avise no felipejfs@bol.com.br pois uso este script aqui em um site. Espero que lhe seja util este script. falou.
joao felipe felipe
Hits: 8.095 Categoria: Perl Subcategoria: Metodologias
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Este script faz uma busca binária em um vetor (array), está simples e fácil de ser entendido, lembramos que o vetor deve estar ordenado para que seja possível fazer uma busca binária, para isso vc pode usar meu script de "ordenacao por selecao", qualquer bug encontrado por favor me avise no felipejfs@bol.com.br pois uso este script aqui em um site. Espero que lhe seja util este script. falou.
Download buscabin.pl Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/bin/perl
#para uma busca binaria é necessario que o vetor esteja ordenado!!!!
@vetor=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20);
$x=3; #$x será o elemento à procurar.
$inicio=0;
$fim=@vetor; # $fim recebe o tamanho de @vetor.
$meio=int(($inicio+$fim)/2);
print "Procurando $x em ". "@vetor". "\n";
while (($x != @vetor[$meio]) && ($inicio!=$fim) && ($inicio<$fim))
           {
             if ($x > @vetor[$meio]) {$inicio=$meio+1}
             else {$fim=$meio-1}
             $meio=int(($inicio+$fim)/2);
           }
if ($x == @vetor[$meio]){print "$x encontrado em @". "vetor[". $meio. "]\n";}
else {print "$x nao encontrado!! \n";}
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Conexão com Banco de Dados Postgres

Orientação a Objetos - Criando e usando uma classe em Perl

Gerador de CPF válido em Perl

GenHASH - Gerador de hashes SHA1, MD5 e Base64 em Perl

Streaming Kiss FM (SP 102,1) Player em perl com interface grafica (Tk)

#1 Comentário enviado por danltmz em 13/07/2010 - 16:21h
Apenas uma observação..
ao invés de:

@vetor=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20);

você poderia ter feito:

@vetor = (1 .. 20);

E te recomendo também usar o pragma strict e o my pra definir o escopo das variáveis.

Contribuir com comentário

Entre na sua conta para comentar.