Skip to content

A C program that manages a slang dictionary using a Trie data structure. It allows fast adding, searching, and prefix-based retrieval of slang words.

Notifications You must be signed in to change notification settings

RobbenWijanathan/boogle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Boogle β€” A Trie-Powered Slang Dictionary (C)

A fast, text-UI slang dictionary featuring add/search/list and prefix-based lookup β€” all backed by a compact Trie for efficient string storage and retrieval.


πŸ“˜ Overview

Boogle is a console application written in C that acts as a slang dictionary.
Users can add words with descriptions, search exact matches, list all entries, and discover words by typing a prefix and seeing live matches.
The UI is fully keyboard-driven and optimized for speed.


πŸš€ Features

  • βž• Insert new slang terms with short descriptions (validated: lowercase, no spaces)
  • πŸ” Search for words directly
  • πŸ“œ List all slang terms in alphabetical order
  • ✨ Prefix Search – instantly show suggestions as you type
  • 🧩 Built using a Trie Data Structure for fast lookups
  • πŸ’Ύ Lightweight & memory-efficient (pure C implementation)

βš™οΈ How It Works (Data Structure)

Each Trie node contains:

  • children[26] β†’ pointers for each lowercase alphabet
  • bool isEndOfWord β†’ marks the end of a valid word
  • char description[100] β†’ stores the slang definition

Core Operations

Operation Description
insert(word, description) Inserts a slang term and saves its meaning
search(word) Finds a slang term in the dictionary
traverse(root) Displays all words & their meanings
displayWordsByPrefix(prefix) Displays all slang terms starting with a given prefix

About

A C program that manages a slang dictionary using a Trie data structure. It allows fast adding, searching, and prefix-based retrieval of slang words.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages