Skip to main content

A simple trie data structure implementation

Project description

Getting Started

To get started with using the astrie package, follow these steps:

  1. Installation

    Install the package using pip:

    pip install astrie
    
  2. Importing

    Import the AsTrie class from the astrie module:

    from astrie import AsTrie
    
  3. Object Initialization

    Initialize an instance of the AsTrie class:

    trie = AsTrie()
    

Methods

Adding Words

To add words to the trie, you can use the following methods:

  • To add a single word:

    trie.add("Python")
    
  • To add a list of words at once:

    word_list = ["pineapple", "butterfly", "adventure", "rainbow", "whisper",
        "enchantment", "tranquility", "galaxy", "serendipity", "blossom",
        "chocolate", "meadow", "firefly", "symphony", "serenade",
        "moonlight", "horizon", "oasis", "velvet", "reflection",
        "sunrise", "wonder", "starlight", "cascade", "mystic",
        "melody", "twilight", "radiant", "journey", "destiny",
        "harmony", "peaceful", "embrace", "shimmer", "gentle",
        "serene", "dreamer", "captivate", "inspire", "tranquility",
        "cherish", "ethereal", "wanderlust", "cherished", "radiant",
        "adventure", "captivate", "radiant", "enjoy", "serenity","Python","Hello","World"]
        
    trie.add_many(word_list)
    

Removing Words

To remove words from the trie, you can use these methods:

  • To remove a single word:

    trie.remove("Python")
    
  • To remove a list of words:

    trie.remove_many(["Hello", "World"])
    
  • To empty the trie:

    trie.clear()
    

Checking and Counting

You can perform various checks and obtain counts using these methods:

  • To check if a word exists in the trie:

    exists = trie.has("horizon")
    print(exists)
    
    >>> True
    
  • To check if there are words that start with a given prefix:

    starts_with = trie.starts_with("ad")
    print(starts_with)
    
    >>> True
    
  • To get the count of words that start with a prefix:

    starts_with_count = trie.starts_with_count("ad")
    print(starts_with_count)
    
    >>> 2
    
  • To get the count of words equal to a given word:

    count_equals = trie.count_equals("adventure")
    print(count_equals)
    
    >>> 2
    
  • To get the count of unique words in the trie:

    unique_count = trie.unique_count()
    print(unique_count)
    
    >>> 48
    

Retrieving Words

You can retrieve words using these methods:

  • To get a generator object for all words in the trie:

    all_words_generator = trie.all_words()
    for word in all_words_generator:
        print(word)
    
    >>> 
    pineapple
    butterfly
    adventure
    ...
    World
    
  • To get a generator object for words that start with a prefix:

    starts_with_generator = trie.words_starts_with("m")
    for word in starts_with_generator :
        print(word)
    >>>
    meadow
    melody
    moonlight
    mystic
    

Remember that for generator objects, you need to iterate over them to access the actual words they yield.

Note: This trie only works on alphabetical characters. If you want to use intergers typecast them into string before adding them to the trie.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

astrie-1.2-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file astrie-1.2-py3-none-any.whl.

File metadata

  • Download URL: astrie-1.2-py3-none-any.whl
  • Upload date:
  • Size: 3.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for astrie-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e432090c3487213dc28ac756d055a589ea26dc5792b4dbea1de0603e9aa6a6e4
MD5 58351d720f7d05fa6ec8767fbf511fde
BLAKE2b-256 f2ab1d2895c9d81d1ae1dac1decbce347eb993e8cea5bfeb0aed3a6dc2291a5a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page