What is a Trie?
This lesson gives a brief introduction to tries, their properties, and common applications.
Introduction
We are going to look at a tree-like data structure that proves to be very efficient while solving programming problems related to strings.
This data structure is called a trie and is also known as a Prefix Tree. We will soon find out why.
The word trie is derived from “retrieval”. As you can guess, the main purpose of using this structure is to provide fast retrieval. Tries are mostly used in dictionary word searches, search engine auto-suggestions, and IP routing.
Common Applications of Tries
Let’s have a look at some real-life examples to understand the role of tries.
Autocomplete Words
Today, the autocomplete feature is supported by almost all major applications. This feature can be efficiently implemented with the help of tries as they reduce the overall cost of performance.
Spell-Checking
Tries come in handy when you need to perform spell-check on a word entered by the user. This feature is helpful when the user does not know the exact spelling of a word they are searching for.
Searching for a Phone Contact
Another real-life use of tries is searching for contacts in our contact list. It provides auto-suggestions based on the combination of letters that we enter. As you’ll see later on, this can also be performed with hash tables, but a hash table won’t be as efficient as a trie.
Properties of a Trie
To maintain its overall efficiency, tries follow a certain structure:
-
Tries are similar to graphs as they are a combination of nodes where each node represents a unique alphabet.
-
Each node can point to
null
or other children nodes. -
The size of a trie depends upon the number of alphabets. For example, in English, there are 26 letters so the number of unique nodes cannot exceed 26.
-
The depth of a trie depends on the longest word that it stores.
-
Another important property of a trie is that it provides the same path for words that share a common prefix. For example, “there” and “their” have a common prefix “the”. Hence, they will share the same path until “e”. After that, the path will split into two branches. This is the backbone of the trie functionality.
These are some of the basic properties that every trie must hold.
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.