Io non sono in grado di capire come questo l'albero viene generato dalla stringa di input specificata.
Essenzialmente si crea un trie patricia con tutti i suffissi che hai elencato. Quando si inserisce in un trie patricia, si cerca nella radice un figlio che inizia con il primo carattere dalla stringa di input, se esiste si continua lungo l'albero, ma se non lo fa, si crea un nuovo nodo fuori dalla radice.La radice avrà tanti bambini quanti caratteri univoci nella stringa di input ($, a, e, h, i, n, r, s, t, w). Puoi continuare quel processo per ogni carattere nella stringa di input.
Gli alberi di suffisso vengono utilizzati per trovare una data sottostringa in una determinata stringa, ma in che modo l'albero fornito può essere d'aiuto?
Se stai cercando la sottostringa "gallina", inizia la ricerca dalla radice per un bambino che inizia con "h". Se la lunghezza della stringa di in "h" figlio continua a elaborare child "h" finché non si arriva alla fine della stringa o si ottiene una mancata corrispondenza dei caratteri nella stringa di input e nella stringa "h" figlio. Se abbini tutto il bambino "h", cioè l'input "gallina" corrisponde a "lui" nel bambino "h", quindi passa ai figli di "h" finché non arrivi a "n", se non riesce a trovare un bambino che inizia con "n" quindi la sottostringa non esiste.
Compact Suffix Trie code:
└── (black)
├── (white) as
├── (white) e
│ ├── (white) eir
│ ├── (white) en
│ └── (white) ere
├── (white) he
│ ├── (white) heir
│ ├── (white) hen
│ └── (white) here
├── (white) ir
├── (white) n
├── (white) r
│ └── (white) re
├── (white) s
├── (white) the
│ ├── (white) their
│ └── (white) there
└── (black) w
├── (white) was
└── (white) when
Suffix Tree code:
String = the$their$there$was$when$
End of word character = $
└── (0)
├── (22) $
├── (25) as$
├── (9) e
│ ├── (10) ir$
│ ├── (32) n$
│ └── (17) re$
├── (7) he
│ ├── (2) $
│ ├── (8) ir$
│ ├── (31) n$
│ └── (16) re$
├── (11) ir$
├── (33) n$
├── (18) r
│ ├── (12) $
│ └── (19) e$
├── (26) s$
├── (5) the
│ ├── (1) $
│ ├── (6) ir$
│ └── (15) re$
└── (29) w
├── (24) as$
└── (30) hen$
ho trovato questi 2 video molto utile per capire alberi suffisso. http://www.youtube.com/watch?v=VA9m_l6LpwI e http://www.youtube.com/watch?v=F3nbY3hIDLQ#t=2360 – spats