Utilities
Utilities for suffix tree.
- DEBUG = False
Print lots of debug information.
- DEBUG_DOT = False
Write out dot files of the tree at the end of each phase.
- DEBUG_LABELS = False
Include more (potentially confusing) information in node labels.
- class UniqueEndChar(id_)
A singleton object to signal end of sequence.
- __init__(id_)
- __str__()
Return str(self).
- min_debug_depth = -1
How deep we were in the stack when emitting the first debug message.
Used to print the interesting part of the stack.
- debug(msg: str, *args, **kwargs) None
Print a debug message to stderr.
- is_debug() bool
Return True if debugging is on.
- ukko_str(S: Sequence[Hashable], start: int, end: int) str
Debug path in Ukkonen’s preferred notation.
- class Path(S, start=0, end=None)
A path in a suffix tree.
- __init__(S, start=0, end=None)
Initialize a path from a sequence of symbols.
If end is None it is set to the length of the sequence.
- __str__() str
Return str(self).
- __lt__(other) bool
Return True if self less than other.
Convenience function that allows to sort paths if the symbols are sortable. Not used in tree construction.
- __getitem__(i: int) Hashable
Return the symol at position i.
Note: this should implement slices but we don’t need them. Also we don’t need negative indices.