Documentation ¶
Index ¶
- type Index
- func (ix *Index) EdgeLabel(node int) string
- func (ix *Index) Edges(node int) map[byte]int
- func (ix *Index) IsLeaf(node int) bool
- func (ix *Index) LookupAll(pat []byte) []int
- func (ix *Index) NumNodes() int
- func (ix *Index) Print()
- func (ix *Index) Root() int
- func (ix *Index) SuffixStart(node int) int
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Index ¶
type Index struct {
// contains filtered or unexported fields
}
Index służy jako indeks łańcucha znaków. Pole `text` to indeksowany łańcuch. Pole `nodes` to tablica sufiksów łańcucha `text`. Pole `root` to korzeń drzewa sufiksów `nodes`. Pozostałe pola przydają się podczas budowania tablicy sufiksów
func (*Index) EdgeLabel ¶
EdgeLabel zwraca etykietę tej krawędzi, która prowadzi do wierzchołka `node` drzewa sufiksów `ix.nodes`
func (*Index) Edges ¶
Edges zwraca mapę. Elementy tej mapy opisują te krawędzie, które wychodzą z wierzchołka `node` drzewa sufiksów `ix.nodes`. Każdy klucz tej mapy jest pierwszym znakiem etykiety pewnej krawędzi drzewa sufiksów `ix.nodes`, która wychodzi z wierzchołka `node`. Ta wartość mapy, która odpowiada temu kluczowi, jest tym wierzchołkiem drzewa sufiksów `ix.nodes`, do którego prowadzi ta krawędź
func (*Index) IsLeaf ¶
IsLeaf zwraca true, jeśli węzeł `node` jest liściem drzewa sufiksów `ix.nodes`
func (*Index) LookupAll ¶
LookupAll zwraca indeksy wszystkich tych pozycji, od których zaczynają się wystąpienia wzorca ‘pat‘ w łańcuchu ‘ix.text‘
func (*Index) SuffixStart ¶
SuffixStart zwraca indeks tej pozycji, od której zaczyna się ten sufiks łańcucha ‘ix.text‘, który jest równy połączonym etykietom krawędzi na ścieżce od korzenia do liścia `node` drzewa sufiksów `ix.nodes`