| Set :: INSPAN :: Veloce Set :: INSPAN :: Veloce è un modulo Perl per la gestione rapida di set contenenti campate interi. |
Scarica ora |
Set :: INSPAN :: Veloce Classifica e riepilogo
- Licenza:
- Perl Artistic License
- Nome editore:
- Andy Armstrong
- Sito web dell'editore:
- http://search.cpan.org/~andya/
Set :: INSPAN :: Veloce Tag
Set :: INSPAN :: Veloce Descrizione
Set :: INSPAN :: Veloce è un modulo Perl per la gestione rapida di set contenenti campate interi. Set :: INTSPAN :: Veloce è un modulo perl per la gestione rapida di set contenenti intereger spans.synopsis utilizza set :: INTSPAN :: Veloce; My $ Set = Set :: INSPAN :: Fast-> New (); $ set-> Aggiungi (1, 3, 5, 7, 9); $ set-> add_range (100, 1_000_000); Stampa $ set-> as_string (), "n"; # Stampe 1,3,5,7,9,100-1000000Il set :: Il modulo INTSPAN rappresenta serie di numeri interi come numerosi intervalli inclusivi, ad esempio "1-10,19-23,45-48". Poiché molte delle sue operazioni implicano ricerche lineari dell'elenco delle gamme, le sue prestazioni generali tendono ad essere proporzionali al numero di intervalli distinti. Va bene per piccoli set ma soffre rispetto ad altre possibili rappresentazioni set (bit vettori, chiavi hash) quando il numero di intervalli cresce di grandi dimensioni. Questo modulo rappresenta anche serie come intervalli di valori ma memorizzano quelle gamme in ordine e utilizza una ricerca binaria per Molte operazioni interne in modo che le prestazioni complessive tendano verso il registro N dove n è il numero di intervalli. La rappresentazione interna utilizzata da questo modulo è estremamente semplice: un set è rappresentato come un elenco di numeri interi. I numeri interi in posizioni numerate anche (0, 2, 4 ecc.) Rappresentano l'inizio di una corsa di numeri mentre quelle in posizioni numerate dispari rappresentano le estremità delle esecuzioni. Come esempio il set (1, 3-7, 9, 11, 12) sarebbe rappresentato internamente come (1, 2, 3, 8, 11, 13) ..SETS potrebbe essere infinito - supponendo che tu sia pronto ad accettarlo L'infinito non è in realtà non più di un intero abbastanza grande. In particolare, i costi sono impostati :: INTSPAN :: Veloce :: Negative_infinity and Set :: Intspan :: Veloce :: Positive_Infinity è definito per essere - (2 ^ 31-1) e (2 ^ 31-2) rispettivamente. Per creare un set infinito invertito uno vuoto: il mio $ INF = set :: INTSPAN :: Fast-Intspan :: Fast->> Nuovo () -> Complezione (); I set devono essere limitati solo in una direzione - ad esempio questo è il set di tutti i positivi I numeri interi (supponendo di accettare la definizione leggermente debole dell'infinito che stiamo usando): My $ POS_INT = Set :: INTSPAN :: Fast-> Nuovo (); $ pos_int-> add_range (1, $ pos_int-> positive_infinity); Requisiti: · Perl.
Set :: INSPAN :: Veloce Software correlato