Brief Introduction to Suffix Array

Suffix array is a data structure designed for efficient searching of a large text. The data structure is simply an array containing all the pointers to the text suffixes sorted in lexicographical (alphabetical) order. Each suffix is a string starting at a certain poinsition in the text and ending at the end of the text. Searching a text can be performed by binary search using the suffix array.

Let's get started with the suffix array construction. Suppose that we have the sample text abracadabra'' and wish to construct the suffix array for the sample text.

First, we should assign index points to the sample text. Index points specify positions where search can be performed. In our example, index points are assigned character by character. Thus, we can search the sample text with the suffix array at any positions later.

Second, we should sort the index points according to thier corresponding suffixes. The correspondance between the index points and the suffixes looks like

After sorting:

Finally, The resulting index points become the suffix array for the sample text.

Search of the sample text can be performed by binary search using the created suffix array. The following figure shows the process of searching the sample text for `ra'. Numbered arrows shows the order of processing.

References

A Brief Introduction of Deep Learning

2016-11-27 20:13:02

Introduction to Java Programming (brief - 10th edition) .pdf

2017年11月26日 108.18MB 下载

Mybatis-environments(English)

2017-03-25 02:35:37

RNN and LSTM introduction

2016-06-22 23:34:28

Introduction to Java Programming AP Version 无水印pdf

2017年09月30日 10.36MB 下载

[机器学习入门] 李弘毅机器学习笔记-7 （Brief Introduction of Deep Learning；深度学习简介）

2017-06-05 19:32:17

A brief introduction to reinforcement learning

2018-03-01 14:08:04

Suffix Array 后缀数组

2015-08-25 00:19:43

后缀数组(SuffixArray) 学习笔记

2015-02-11 16:46:22

English Self-Introduction

2012-08-20 11:17:33