Home Applications High-Performance Prefix Lookup Extension for InterSystems IRIS

High-Performance Prefix Lookup Extension for InterSystems IRIS

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
0
0 reviews
0
Awards
9
Views
0
IPM installs
1
1
Details
Releases (1)
Reviews
Issues
High-Performance Prefix Lookup Extension for InterSystems IRIS

What's new in this version

Initial Release

This project implements a Trie (prefix tree) data structure in C to enable fast and efficient prefix-based operations on a collection of alphanumeric words. The system supports insertion of words into the trie, checking whether a given prefix exists, and retrieving all words that share a common prefix. It is optimized for lowercase letters (a-z) and digits (0-9), making it suitable for a wide range of applications such as search engines, autocomplete systems, and dictionary utilities.

Key Features:

Alphanumeric Support: The trie handles both letters and digits, giving a total of 36 possible child nodes per trie node.

Efficient Word Insertion: Words are inserted character by character, and new trie nodes are dynamically created as needed.

Prefix Lookup: Allows users to check if any word in the trie begins with a given prefix.

Auto-suggestions: Once a prefix is found, the trie recursively retrieves and displays all words that begin with that prefix.

Memory Management: The trie is built with dynamic memory allocation and includes a cleanup function to free all allocated memory when it is no longer needed.

Reusable Design: The code is modular, and exported functions are marked for use in shared libraries or integration with larger applications.

Preloaded Data:

The trie is automatically initialized with a sample set of words such as "diabetes", "diagnosis", "dialysis", "data", "dare", "daredevil", "daring", "daringly", "dark", "dashboard", and "developer". This allows immediate testing of prefix search and auto-suggestion functionality.

Typical Use Cases:

Implementing autocomplete in terminals or GUIs

Real-time search filtering

Predictive typing

Text editors and IDE plugins

Embedded or low-memory environments where efficient string matching is required

Functions Provided:

insert(): Adds a word to the trie

search(): Checks if a prefix exists in the trie

print_words_with_prefix(): Displays all words matching a prefix

free_trie_memory(): Cleans up the entire trie to avoid memory leaks

lookup_prefix(): Public API for checking prefix existence

initialize_trie(): Loads default words into the trie (only once)

Version
1.0.030 Apr, 2025
Category
Developer Environment
Works with
InterSystems IRIS
First published
30 Apr, 2025
Last edited
30 Apr, 2025