Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8881789
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T20:24:57+00:00 2026-06-14T20:24:57+00:00

Can we use circular strings with Suffix Trees? So the last character is followed

  • 0

Can we use circular strings with Suffix Trees?
So the last character is followed by the first in the list.

If so, how is the representation of this suffix tree different from a normal suffix tree?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T20:24:58+00:00Added an answer on June 14, 2026 at 8:24 pm

    It depends on what you mean by “use”.

    1)
    Firstly, interpreting your question in the most direct possible way, consider a circular string of length n, i.e. an infinite string that repeats itself every n characters. Such an object has no suffixes in the usual sense of the word because it never ends, so you can’t construct a suffix tree of it.

    2) However, the idea certainly is that we have a finite representation of the circular string, which uses a link from the last character to the first. In a similar way, we can extend a given suffix tree through the use of links to a circular suffix tree that represents all the (infinitely long) suffixes of the circular string. Note that this cannot be done by inserting a link from each leaf to the root of the node, because from the root, there are outgoing edges for all suffixes of the string, but from a leaf of such a circular string, there can be only one outgoing edge. Example: The leaf that represents the suffix “ssippi$” of “mississippi$” should have an outgoing edge carrying an infinite label “mississippi$mississippi$mississippi$….” and no other edges. If you were to link it to the root of the tree, there would be many more incorrect continuations.

    So two things are necessary:

    • Outgoing edges from leaves (which is a funny concept after all). Each leaf gets one outgoing edge.
    • Edges carrying infinite labels. This labels could be represented as circular strings (and that circular string would be the same for all outgoing edges of leaves).

    This would give you a valid representation of all (infinite) suffixes of the circular string.

    3) I am not really sure if that representation would be useful for anything. If the purpose of constructing the suffix tree is to enable substring searches, then the usual trick of concatenating the finite representation of the circular string (not including the link) to itself and constructing a suffix tree from this should suffice unless the substrings you search for are themselves longer than n characters.

    It is also important to note that certain other uses of a suffix tree would require the introduction of further “infinite” concepts. For example, for certain applications it may be required to store the character depth of a tree node (i.e. the combined length of the edge labels leading from root to a particular node) in that node. In the “circular suffix tree” proposed above, the outgoing edges of leaves would lead to some sort of special “leaf in the limit” and carry a circular string as label. Any query that is matched into such a circular string would require a special way to keep track of the matching depth as there are no inner nodes on that edge to store the depth information.

    4) Having said all of this, there is actually at least one known application of suffix trees to circular strings, but not in the sense of (1), (2) or (3) above, i.e. representing the entire infinite object through the use of a suffix tree. Rather, a suffix tree of a finite substring of the circular string is used to solve the problem of lexicographically minimal rotation. The problem is described on Wikipedia, although the solutions listed there do not include any that makes use of suffix trees. However, Dan Gusfield describes the solution in Algorithms on Strings, Trees and Sequences, in section 7.13.

    The idea is that you consider the set of lexicographically minimal rotations of a string S of length n as equivalent to the set of the first length-n substrings of a circular string. The problem is then equivalent to that of finding a lexicographically minimal cut-off point. Gusfield solves it by constructing a suffix tree of the string SS$, traverses this tree by taking the lexicographically smallest edge at each node and thus ending up at a node that corresponds to the lexicographically smallest cut-off point.

    So, as (4) demonstrates, there are certain practical “uses” of suffix trees in the context of circular strings, but I am unsure if that is the kind of use you are interested in.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I can use this maven plugin maven-jaxb-plugin to generate Java Classes from XSD file.
I can use ipcs(1) to list out the active shared memory objects on a
How can you use circular #import to strongly typed objects in objective-c I have
I can use the following to get the contents of a folder with no
Users can use their Google, Facebook or Twitter account to login to a site
I can use .button() to create beautiful submit buttons, but the rest of the
I can use FireFox and FireBug, in a pane, I can open a .css
I can use the PRINT statement in a stored procedure to debug my code.
I can use stat() to figure out what permissions the owner, group, or others
We can use solr range query like: http://localhost:8983/solr/select?q=queryStr&fq=x:[10 TO 100] AND y:[20 TO 300]

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.