package com.jwetherell.algorithms.data_structures.interfaces; import java.util.Set; /** * In computer science, a suffix tree (also called PAT tree or, in an earlier form, position tree) is a compressed trie * containing all the suffixes of the given text as their keys and positions in the text as their values. Suffix trees * allow particularly fast implementations of many important string operations. * * http://en.wikipedia.org/wiki/Suffix_tree * * @author Justin Wetherell */ public interface ISuffixTree { /** * Does the sub-sequence exist in the suffix tree. * * @param sub-sequence to locate in the tree. * @return True if the sub-sequence exist in the tree. */ public boolean doesSubStringExist(C sub); /** * Get all the suffixes in the tree. * * @return set of suffixes in the tree. */ public Set getSuffixes(); }