Skip to content

Implementazione in JAVA di un algoritmo di String Matching - Algoritmo di Aho e Corasick

Implementazione in JAVA dell’algoritmo di Aho e Corasick

Per un’implementazione in Java dell’algoritmo di Aho e Corasick, l’idea è quella di istanziare una classe Node che abbia i seguenti attributi di tipo private:
- Node parent: nodo genitore;
- HashMap children: mappa hash che identifica i figli di un nodo tramite chiave di tipo Character e ha come valore il nodo figlio, il quale è instanziato a partire da una label di tipo String;
- String label: etichetta del nodo definita come stringa che contiene i caratteri letti dal nodo radice fino al nodo considerato;
- Node failLink: Failure Link del nodo;
- Node dicLink: Dictionary Link del nodo;
- boolean isFinal: valore di tipo booleano che vale True se il nodo è di accettazione, altrimenti vale False.

E i seguenti metodi:
- public Node(String label): costruttore della classe Node che prende a parametro l’etichetta del nodo stesso;
- public void insertPattern(String pattern): metodo per l’inserimento del pattern passato a parametro;
- public static Node buildTrie(List patterns): metodo statico che prende a parametro una lista di pattern e li inserisce nel Trie; il metodo è definito statico perchè così nel metodo main della classe AhoCorasick sarà invocato direttamente sulla classe Node senza dover istanziare alcun oggetto, poichè ciò comporterebbe l’istanziamento di un ulteriore nodo nel main;
- public void setFailLinks(): metodo in cui l’automa viene navigato con una visita in ampiezza (BFS) tramite una coda, simulata da una LinkedList, assegando, se esiste, il Failure Link a ciascun nodo considerato tramite un ulteriore metodo chiamato setFailLink();
- public void setFailLink(): metodo che assegna i Failure Link ai nodi;
- public void search(String text): metodo per ricercare nell’automa le occorrenze del testo passato a parametro.
[…]

Certificazione antiplagio

Noi verifichiamo le corrispondenze online e puoi ottienere un certificato di eccellenza per valorizzare il tuo lavoro

Questo brano è tratto dalla tesi:

Implementazione in JAVA di un algoritmo di String Matching - Algoritmo di Aho e Corasick

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista

Informazioni tesi

  Autore: Lorenzo Busicchia
  Tipo: Laurea I ciclo (triennale)
  Anno: 2019-20
  Università: Università degli Studi di Palermo
  Facoltà: Scienze e Tecnologie Informatiche
  Corso: Informatica
  Relatore: Gabriele Fici
  Lingua: Italiano
  Num. pagine: 29

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario, bollettino postale.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l'Utente volesse pubblicare o citare una tesi presente nel database del sito www.tesionline.it deve ottenere autorizzazione scritta dall'Autore della tesi stessa, il quale è unico detentore dei diritti.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
  • L'Utente è a conoscenza che l'importo da lui pagato per la consultazione integrale della tesi prescelta è ripartito, a partire dalla seconda consultazione assoluta nell'anno in corso, al 50% tra l'Autore/i della tesi e Tesionline Srl, la società titolare del sito www.tesionline.it.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Per tradurre questa tesi clicca qui »
Scopri come funziona »

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

pattern
matching
pattern matching
aho
corasick
stringhe
espressioni regolari
dfa
automi
nfa

Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi