Array de sufixos
Tipe Array
Inventado por Manber & Myers (1990)
Complexidade de tempo
em Notação Grande-O
Média Pior caso
Espaço
Construção

Em ciência da computação, um array de sufixos é um array ordenado de todos os sufixos de uma cadeia de caracteres. É uma estrutura de dados simples, porém poderosa que é usada, dentre outras, em índices de textos inteiros, algoritmos de compressão de dados e dentro do campo da bioinformática.[1]

Arrays de sufixos foram introduzidos por Manber & Myers (1990) como uma alternativa simples e eficiente em termos de espaço a árvore de sufixos. Eles foram descobertos independentemente por Gonnet, Baeza-Yates & Snider (1992) sob o noe array PAT.

Definição

editar

Seja uma cadeia de caracteres e seja a subcadeia de que vai de até .

O array de sufixos de é definido como sendo um array de inteiros que proveem as posições iniciais dos sufixos de em ordem lexicográfica. Isto significa que uma entrada contem a posição inicial do -ésimo menor sufixo em e, da mesma forma, para todo : .

Exemplo

editar

Considere o texto S=banana$ a ser indexado:

i 1 2 3 4 5 6 7
S[i] b a n a n a $

O texto termina com a letra sentinela especial $, que é único e lexicograficamente menor do que qualquer outro caractere. O texto possui os seguintes sufixos:

Suffix i
banana$ 1
anana$ 2
nana$ 3
ana$ 4
na$ 5
a$ 6
$ 7

Estes sufixos podem ser ordenados:

Suffix i
$ 7
a$ 6
ana$ 4
anana$ 2
banana$ 1
na$ 5
nana$ 3

O array de sufixos A contém a posição inicial destes sufixos ordenados:

i 1 2 3 4 5 6 7
A[i] 7 6 4 2 1 5 3

Array completo com os próprios sufixos:

i 1 2 3 4 5 6 7
A[i] 7 6 4 2 1 5 3
1 $ a a a b n n
2 $ n n a a a
3 a a n $ n
4 $ n a a
5 a n $
6 $ a
7 $

Então por exemplo, A[3] contém o valor 4, e por isso, se refere ao sufixo iniciando na posição 4 dentro de S, que é o sufixo ana$.

Notas

editar

Referências

editar

📚 Artikel Terkait di Wikipedia

Bubble sort

compare(array_to_sort[i], array_to_sort[j]) { array_to_sort[i], array_to_sort[j] = array_to_sort[j], array_to_sort[i] /*tmp := array_to_sort[i] array_to_sort[i]

Rússia

new human forerunner, and raises array of questions». Washington Post  Belinskij A, Härke, H (1999). «The 'Princess' of Ipatovo». Archeology. 52 (2). Consultado

África do Sul

construindo atualmente a Telescópio de Array Karoo (MeerKAT) como parte do projeto de 1,5 bilhão de euros Square Kilometre Array. Em 25 de maio de 2012, foi anunciado

Scanner indutivo

corrosão. P. Gaydecki, F.M. Burdekin; A Multi-Sensor Array Inductive Scanner for Rapid Imaging of Reinforced and Pre-Stressed Concrete - www.eee.manchester

Heap

T[] inverse = util.Util.makeArrayOfComparable(array.length); for (int i = 0; i < array.length; i++) { inverse[i] = heap[array.length - 1 - i]; } result

R (linguagem de programação)

reshape as square matrix of complex numbers Z ← 0 # initialize Z to zero X ← array(0, c(m,m,50)) # initialize output 3D array for (k in 1:50) { # loop

Açúcar sintático

referência de Array é um processo simples de dois argumentos: um array e um vetor de subscript, que podem ser expressados assim: get_array(Array, vector(i

Modelos de linguagem de grande escala

of numerical "tokens" como A tokenização também comprime os conjuntos de dados. Como os LLMs geralmente exigem que a entrada seja um arranjo (array)