[SP-pm] Busca eficiente em array.

Solli Honorio shonorio at gmail.com
Wed Sep 16 14:07:08 PDT 2009


2009/9/16 Daniel de Oliveira Mantovani <daniel.oliveira.mantovani em gmail.com>

> Olá pessoa, tenho uma array relativamente grande, preciso fazer
> consultas que sejam rápidas.
>
> my @resultado = grep{/foo/} @busca # Infelizmente isso não é o suficiente.
>
> Pensei em usar busca binária, mas fiquei sabendo que existe vários
> tipos de busca.
> Alguma sugestão ?
>
>
Mantovani, pelo teu exemplo vc precisa fazer pesquisa por parte do conteúdoo
? No teu exemplo eu vou pegar 'foo', 'barfoo', 'foobar', 'bafoo', é isto
mesmo ? Se for isto, vc está numa situação complicada pois isto lhe obriga a
correr todos os elementos de uma array, mas se vc deseja apenas pegar o
elemento com chave primaria 'foo', então o hash pode ser uma alternativa.

Sim, sobre as pesquisas ... a maioria dos algoritmos de pesquisa tenta
resolver uma pergunta simples. "Como encontrar um elemento sem precisar ler
todos os elementos", e a maioria das soluções envolve algum tipo de
indexação e ordenação, e acredito que vc não deseja fazer isto, mas se
desejar dê uma olhada no 'Mastering Algorithms'.

Solli M. Honório



>
>
> --
> "Deus usa os loucos pra confundir os sábios"
> http://mantovanihouse.blogspot.com/
> This is my poney:
> -------(\_------------_/)-----------
> -------)--(----------)--(-----------
> ------(----(---------)----)----------
> -------)----(-------)----(-----------
> -------(----(-------)----)-----------
> --------\_-(\\.---.//)-_/------------
> ----------\)' -8--8- '(/--------------
> -----------/------------\---------------
> ----------(--)--------(--)--------------
> ------------(_c__c_)----------------
> ----------------------------------------
> perl -MLWP::Simple -le 'grep{ print $1 if
> /href="(http.+?)"/}split($/,get("http://www.perl.org.br"))'
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20090916/cdc271a4/attachment.html>


More information about the SaoPaulo-pm mailing list