[SP-pm] Busca eficiente em array.

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Wed Sep 16 16:27:46 PDT 2009


2009/9/16 Solli Honorio <shonorio em gmail.com>:
>
> 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'.

Estou lendo esse livro na empresa, foi de lá que eu tirei busca binária.

>
> 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
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
"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"))'


More information about the SaoPaulo-pm mailing list