Set :: Intspan :: Fast

Set :: Intspan :: Fast é um módulo Perl para o manuseio rápido de conjuntos contendo vãos inteiros.
Baixe Agora

Set :: Intspan :: Fast Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Andy Armstrong
  • Site do editor:
  • http://search.cpan.org/~andya/

Set :: Intspan :: Fast Tag


Set :: Intspan :: Fast Descrição

Set :: Intspan :: Rápido é um módulo Perl para o manuseio rápido de conjuntos contendo vãos inteiros. Set :: Intspan :: Rápido é um módulo Perl para o manuseio rápido de conjuntos contendo set spans.synopsis Set :: Intspan :: Fast; Meu $ Set = Set :: Intspan :: Fast-> Novo (); $ set-> Adicionar (1, 3, 5, 7, 9); $ set-> add_range (100, 1_000_000); Imprimir $ Set-> As_string (), "N"; # imprime 1,3,5,8,9,100-1000000O módulo Intspan representa conjuntos de inteiros como vários intervalos inclusivos, por exemplo '1-10,19-23,45-48'. Como muitas de suas operações envolvem pesquisas lineares da lista de faixas, seu desempenho geral tende a ser proporcional ao número de intervalos distintos. Isso é bom para pequenos conjuntos, mas sofre em comparação com outras representações definidas possíveis (vetores de bits, chaves de hash) quando o número de intervalos cresce grande. Este módulo também representa conjuntos como intervalos de valores, mas armazena essas faixas em ordem e usa uma busca binária Muitas operações internas para que o desempenho geral tenda em direção ao log n onde n é o número de faixas. A representação interna usada por este módulo é extremamente simples: um conjunto é representado como uma lista de inteiros. Inteiros em posições até numeradas (0, 2, 4 etc) representam o início de uma execução de números, enquanto aquelas em posições ímpares numeradas representam as extremidades das execuções. Como exemplo, o conjunto (1, 3-7, 9, 11, 12) seria representado internamente como (1, 2, 3, 8, 11, 13) .sets podem ser infinitos - supondo que você esteja preparado para aceitar que O infinito não é mais do que um inteiro bastante grande. Especificamente as constantes definidas :: Intspan :: Fast :: Negative_Infinity e Set :: Intspan :: Fast :: Positivo_infinity são definidos para ser - (2 ^ 31-1) e (2 ^ 31-2), respectivamente. Para criar um conjunto infinito Inverter um vazio: meu $ inf = set :: intspan :: fast-> novo () -> complemento (); conjuntos precisam ser limitados em uma direção - por exemplo, este é o conjunto de todos os inteiros (assumindo que você aceita a definição ligeiramente fraca do infinito que estamos usando): Meu $ POS_int = Set :: Intspan :: Fast-> Novo (); $ pos_int-> add_range (1, $ pos_int-> positivo_infinity); Requisitos: · Perl.


Set :: Intspan :: Fast Software Relacionado

Urri.

URI é identificadores de recursos uniformes (absolutos e parentes). ...

242

Download