Crate suffix_trie

Source
Expand description

§Suffix Trie Library

This Rust library provides a flexible and efficient implementation of a Suffix Trie data structure, ideal for applications involving string searches, autocomplete systems, and other text processing tasks. It supports adding words, searching by prefix, and collecting all suffixes or substrings that match a given prefix.

§Features

  • Efficient string insertion and search
  • Support for collecting all suffixes matching a given prefix
  • Ideal for autocomplete systems, text processing, and pattern matching

§Installation

Add this to your Cargo.toml:

[dependencies]
suffix_trie = "0.1.0"

§Usage

Here’s a quick example to get you started:

use suffix_trie::SuffixTrie;

let mut trie = SuffixTrie::new();
trie.add_suffix("hello".to_string());
trie.add_suffix("helium".to_string());

if let Some(suffixes) = trie.find_prefixes("he") {
    for suffix in suffixes {
        println!("{}", suffix);
    }
}

§Running Tests

To run tests, use the following command:

cargo test

§Contributing

Contributions are welcome! Please feel free to submit pull requests, create issues, or suggest improvements.

§TODO

  • None

Structs§

Node
Represents a node in the suffix trie. Each node may contain children nodes represented by a HashMap keyed by characters. A node is terminal if it marks the end of a word.
SuffixTrie
A SuffixTrie struct represents a suffix trie with a dictionary of words added to it, and a main node acting as the root of the trie.