private SuffixNode(SuffixTree tree, int from, int to) { Tree = tree; From = from; To = to; NodeId = Interlocked.Increment(ref Tree.lastNodeId); }
public static SuffixTree Create(string s) { var tree = new SuffixTree(); if (!s.EndsWith(tree.Separator + "")) { s += tree.Separator; } tree.String = s; var builder = new SuffixTreeBuilder(tree); builder.BuildTree(); return tree; }
public SuffixTreeBuilder(SuffixTree tree) { Tree = tree; CurrentNode = tree.Root; }
/// <summary> /// Ctor for root /// </summary> internal SuffixNode(SuffixTree tree) : this(tree, -1, 0) { }