Package adams.core

Class Trie.TrieNode

    • Constructor Detail

      • TrieNode

        public TrieNode​(char c)
        initializes the node
        Parameters:
        c - the value of this node
      • TrieNode

        public TrieNode​(Character c)
        initializes the node
        Parameters:
        c - the value of this node
    • Method Detail

      • getChar

        public Character getChar()
        returns the stored character
        Returns:
        the stored character
      • setChar

        public void setChar​(Character value)
        sets the character this node represents
        Parameters:
        value - the character to store
      • add

        public boolean add​(String suffix)
        adds the given string to its children (creates children if necessary)
        Parameters:
        suffix - the suffix to add to its children
        Returns:
        true if the add operation changed the structure
      • add

        protected Trie.TrieNode add​(Character c)
        adds the given charater to its children
        Parameters:
        c - the character to add
        Returns:
        the generated child node
      • remove

        protected void remove​(Character c)
        removes the given characted from its children
        Parameters:
        c - the character to remove
      • remove

        public boolean remove​(String suffix)
        Removes a suffix from the trie.
        Parameters:
        suffix - the suffix to remove
        Returns:
        true if this trie changed as a result of the call
      • contains

        public boolean contains​(String suffix)
        checks whether a suffix can be found in its children
        Parameters:
        suffix - the suffix to look for
        Returns:
        true if suffix was found
      • equals

        public boolean equals​(Object obj)
        Indicates whether some other object is "equal to" this one.
        Overrides:
        equals in class Object
        Parameters:
        obj - the object to check for equality
        Returns:
        true if equal
      • find

        public Trie.TrieNode find​(String suffix)
        returns the node with the given suffix
        Parameters:
        suffix - the suffix to look for
        Returns:
        null if unsuccessful otherwise the corresponding node
      • getCommonPrefix

        public String getCommonPrefix()
        returns the common prefix for all the nodes starting with this node. The result includes this node, unless it's the root node or a STOP node.
        Returns:
        the result of the search
      • getCommonPrefix

        public String getCommonPrefix​(String startPrefix)
        returns the common prefix for all the nodes starting with the node for the specified prefix. Can be null if initial prefix is not found. The result includes this node, unless it's the root node or a STOP node. Using the empty string means starting with this node.
        Parameters:
        startPrefix - the prefix of the node to start the search from
        Returns:
        the result of the search, null if startPrefix cannot be found
      • determineCommonPrefix

        protected String determineCommonPrefix​(String currentPrefix)
        determines the common prefix of the nodes.
        Parameters:
        currentPrefix - the common prefix found so far
        Returns:
        the result of the search
      • size

        public int size()
        returns the number of stored strings, i.e., leaves
        Returns:
        the number of stored strings
      • getString

        public String getString()
        returns the full string up to the root
        Returns:
        the full string to the root