SlideShare a Scribd company logo
APPLICATION OF TRIES
Why Trie Data Structure?
• Searching trees in general favor keys which are of
 fixed size since this leads to efficient storage
 management.
• However in case of applications which are retrieval
 based and which call for keys varying length, tries
 provide better options.
• Tries are also called as Lexicographic Search
 trees.
Definition For Trie:
• A trie of order m may be empty.
• If not empty, then it consists of an ordered
 sequence of exactly m tries of order m.
• The branching at any level of the trie is
 determined only by the portion and not by the
 whole word.
• Alphabetic keys require a trie of order 27(26 letters
 of the alphabet + a blank) for their storage and
Representation Of Trie
• The trie have two category of node structures.
       ▫ Branch node
       ▫ Information node

• A branch node is merely a collection of LINK fields
 each pointing either to a branch node or to an
 information node.
• An information node holds the keys that is to be
 stored in the trie.
Operations In Trie
• The three operations in the trie data Structure
 are
                 • Searching a trie
                    • Insertion
                    • Deletion
Example

• Construct a Trie for the keys
001,100,111,011,010
STEP 1:
Insert (001,100)
               0        1



               001     100
Example
• STEP 2:       0       1
Insert(111)

                    0        1
              001




                    100     111
Example
• STEP 3:
Insert(011)         0     1


              0     1     0         1



              001   011       100       111
Example
• STEP 4:
Insert(010)                   0               1

              0           1             0         1



              001                       100       111


                    010           011
INSERTION
• To Insert a key K into the trie we begin as we
 would to search for the key k, possibly moving
 down the trie.
• At the point where the LINK field of the branch
 node leads to NIL, the key k is inserted as an
 information node.
Insertion
• In the Above constructed trie INSERT A KEY
  101.                                 0     1


           0           1         0     1




           001                               111


                 010       011   100   101
Deletion
• The deletion of a key K from a trie proceeds as one
  would to search for the key.
• On reaching the information node(node l)holding k, the
  same is deleted.
  ▫ It need to be ensured the branch node to which node l
    is linked accommodates other information node as well!
      If there is more than1 information node/if there is at
       least one LINK field/or both ,then deletion id done.
      If it leaves the branch node with just one more key
       ,we delete the branch node and push the node to a
       higher level
      If the situation leads to node being the only non
       empty node , once again we delete the branch node
       and push node to a higher level.
Deletion
• Delete 010:         0         1


          0       1             0           1



          001                                   111



                010       011   100   101
Performance Of trie
• The performance of search trees is determined by the
 number of keys that form the tree.
• The complexities of the search ,delete and insert
 operations were given by O(h) where the height h is
 dependent on the number of keys represented in the
 search tree.
• In contrast, the performance of the trie is dependent on
 the length of the key-The number of characters forming
 the key rather than the number of keys itself.
APPLICATIONS OF TRIE DATA
       STRUCTURES
TRIES IN AUTO COMPLETE
• Since a trie is a tree-like data structure in which each
  node contains an array of pointers, one pointer for each
  character in the alphabet.
• Starting at the root node, we can trace a word by
  following pointers corresponding to the letters in the
  target word.
• Starting from the root node, you can check if a word
  exists in the trie easily by following pointers
  corresponding to the letters in the target word.
AUTO COMPLETE
• Auto-complete functionality is used widely over
 the internet and mobile apps. A lot of websites
 and apps try to complete your input as soon as
 you start typing.
• All the descendants of a node have a common
 prefix of the string associated with that node.
Application of tries
AUTO COMPLETE IN GOOGLE SEARCH
WHY TRIES IN AUTO COMPLETE
• Implementing auto complete using a trie is easy.
• We simply trace pointers to get to a node that
 represents the string the user entered. By
 exploring the trie from that node down, we can
 enumerate all strings that complete user’s input.
CRIMINOLOGY
• Suppose that you are at the scene of a crime and
 observe the first few characters CRX on the
 registration plate of the getaway car. If we have a
 trie of registration numbers, we can use the
 characters CRX to reach a subtrie that contains all
 registration numbers that begin with CRX. The
 elements in this subtrie can then be examined to
 see which cars satisfy other properties that might
 have been observed.
AUTOMATIC COMMAND COMPLETION

• When using an operating system such as Unix or
 DOS, we type in system commands to accomplish
 certain tasks. For example, the Unix and DOS
 command cd may be used to change the current
 directory.
Commands that have the prefix “ps”
•   ps2ascii    ps2pdf  psbook       psmandup     psselect
•   ps2epsi     ps2pk   pscal      psmerge     pstopnm
•   ps2frag     ps2ps   psidtopgm     psnup     pstops
•   ps2gif     psbb    pslatex    psresize   pstruct
•   Figure 10 Commands that begin with "ps"

    We can simply the task of typing in commands by providing a command
    completion facility which automatically types in the command suffix once the
    user has typed in a long enough prefix to uniquely identify the command.
    For instance, once the letters psi have been entered, we know that the
    command must be psidtopgm because there is only one command that has
    the prefix psi. In this case, we replace the need to type in a 9 character
    command name by the need to type in just the first 3 characters of the
    command!
LONGEST PREFIX MATCHING
• Longest prefix match (also called Maximum prefix length match)
  refers to an algorithm used by routers in Internet Protocol (IP)
  networking to select an entry from a routing table .
• Because each entry in a routing table may specify a network, one
  destination address may match more than one routing table entry.
  The most specific table entry — the one with the highest subnet
  mask — is called the longest prefix match. It is called this because it
  is also the entry where the largest number of leading address bits in
  the table entry match those of the destination address.
For example, consider this IPv4 routing table (CIDR
 notation is used):
192.168.20.16/28
192.168.0.0/16


When the address 192.168.20.19 needs to be looked
 up, both entries in the routing table "match". That is, both
 entries contain the looked up address. In this case, the
 longest prefix of the candidate routes is
 192.168.20.16/28, since its subnet mask (/28) is higher
 than the other entry's mask (/16), making the route more
 specific.
• A network browser keeps a history of the URLs of
 sites that you have visited. By organizing this history
 as a trie, the user need only type the prefix of a
 previously used URL and the browser can complete
 the URL.
Application of tries
SPELL CHECKERS

• Spell checkers are ubiquitous. Word
  processors have spell checkers, as
  do browser-based e-mail clients.
  They all work the same way: a
  dictionary is stored in some data
  structure, then each word of input is
  submitted to a search in the data
  structure, and those that fail are
  flagged as spelling errors
SPELL CHECKERS

• There are many appropriate data structures to
 store the word list, including a sorted array
 accessed via binary search, a hash table, or a
 bloom filter. In this exercise you are challenged
 to store the word list character-by-character in a
 trie.
Spell Check..
Spell Check..
    a    bc…           0 p       …z
0
                   a   e              i   u

               1
                   a       g         s                 pug

        page   2                                 pig



                               peg        pest
PHONE BOOK SEARCH..
• Trie data structure are mostly used to search for
  a contact on phone book.

• Prefix Matching
      a = a*
Example
              a    bc…             r     s   …z       Contacts in Phone book
          0                                                    alberto
                                                  t            ram
                              a                                sankar
alberto       ram         1                                    star
                                                               stella
                              a          e

                  sanka   2
                  r
                                  star                stella
PHONE BOOK SEARCH..

• Suffix Matching


• Can be used to index all       E


suffixes in a text in order to
carry out fast full text
searches.
TRIES IN T9
• T9 is a technology used on many mobile phones to
 make typing text messages easier.
• The idea is simple - each number of the phone's keypad
 corresponds to 3-4 letters of the alphabet.
• Many phones will notice when you type in a word that is
 not in its dictionary, and will add that word. Others keep
 track of the frequency of certain words and favor those
 words over other words that have the same sequence of
 keypresses.
TRIES IN T9

• How does a T9 dictionary work?
• It can be implemented in several ways, one of
 them is Trie. The route is represented by the
 digits and the nodes point to collection of words.
• T9 works by filtering the possibilities down
 sequentially starting with the first possible
 letters.
TRIES IN T9

• It can be implemented using nested hash tables
 as well, the key of the hash table is a letter and
 on every digit the algorithm calculates all
 possible routes (O(3^n) routes).
• For example, If we type '4663' we get 'good'
 when we press down button we get 'gone' then
 'home' etc..
Application of tries

More Related Content

PPTX
TRIES_data_structure
PPTX
heap Sort Algorithm
PPTX
PPTX
Binary Search Tree
PPTX
Hashing in datastructure
PPT
Data Structures - Searching & sorting
PPTX
Skip lists (Advance Data structure)
TRIES_data_structure
heap Sort Algorithm
Binary Search Tree
Hashing in datastructure
Data Structures - Searching & sorting
Skip lists (Advance Data structure)

What's hot (20)

PPTX
Quick tutorial on IEEE 754 FLOATING POINT representation
PPT
Asymptotic notations
PPTX
Automata theory -Conversion of ε nfa to nfa
PPTX
Binary Search Tree
PPT
PPTX
Dynamic memory allocation
PDF
PPT
3.6 radix sort
PDF
Array data structure
PPTX
Arrays in c
PPT
Sorting
PPTX
PPTX
Linked list
PPTX
Pointer arithmetic in c
PPTX
Hashing Technique In Data Structures
PPT
Chapter 12 ds
PDF
Trees, Binary Search Tree, AVL Tree in Data Structures
PPT
Greedy Algorithms Huffman Coding.ppt
PPTX
Priority Queue in Data Structure
Quick tutorial on IEEE 754 FLOATING POINT representation
Asymptotic notations
Automata theory -Conversion of ε nfa to nfa
Binary Search Tree
Dynamic memory allocation
3.6 radix sort
Array data structure
Arrays in c
Sorting
Linked list
Pointer arithmetic in c
Hashing Technique In Data Structures
Chapter 12 ds
Trees, Binary Search Tree, AVL Tree in Data Structures
Greedy Algorithms Huffman Coding.ppt
Priority Queue in Data Structure
Ad

Viewers also liked (20)

PPTX
Tries - Tree Based Structures for Strings
PPTX
Data structure tries
PPTX
Digital Search Tree
PPT
Trie tree
PPTX
Trie (1)
PDF
Application of hashing in better alg design tanmay
PPT
PPT
B trees in Data Structure
PPT
Stack Data Structure & It's Application
DOC
Advance data structure
PDF
Introduction of suffix tree
PPT
Packet forwarding in wan.46
PPT
Avl trees
PPTX
Suffix Tree and Suffix Array
PPTX
B tree short
PPTX
Introduction to statistics ii
PPT
Distributed Hash Table
PPTX
Binary Search Trees - AVL and Red Black
PPT
Avl trees
PPT
B trees and_b__trees
Tries - Tree Based Structures for Strings
Data structure tries
Digital Search Tree
Trie tree
Trie (1)
Application of hashing in better alg design tanmay
B trees in Data Structure
Stack Data Structure & It's Application
Advance data structure
Introduction of suffix tree
Packet forwarding in wan.46
Avl trees
Suffix Tree and Suffix Array
B tree short
Introduction to statistics ii
Distributed Hash Table
Binary Search Trees - AVL and Red Black
Avl trees
B trees and_b__trees
Ad

Similar to Application of tries (20)

PPTX
Tries data structures
PPTX
Shishirppt
PPTX
Trie Logic.pptx for data structures and algorithms
PDF
Trie Data Structure
PPTX
presentation on important DAG,TRIE,Hashing.pptx
PDF
Souvenir's Booth - Algorithm Design and Analysis Project Project Report
PPT
4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
PDF
'Trie' Data Structure for Auto Search Complete
DOCX
A project on advanced C language
PPT
Tries in data structures using C presentation
PPT
Tries .ppt
PDF
Souvenir's Booth - Algorithm Design and Analysis Project Presentation
PPTX
Ads applications of ads
PPT
Designing A Syntax Based Retrieval System03
DOC
Course module of DS
PDF
DOC
Compiler Design QA
PPT
Multi prefix trie
PPTX
TRIES_PATRICIA.pptxnnnnnnnnnnnnnnnnnnnnnnnnn
Tries data structures
Shishirppt
Trie Logic.pptx for data structures and algorithms
Trie Data Structure
presentation on important DAG,TRIE,Hashing.pptx
Souvenir's Booth - Algorithm Design and Analysis Project Project Report
4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
'Trie' Data Structure for Auto Search Complete
A project on advanced C language
Tries in data structures using C presentation
Tries .ppt
Souvenir's Booth - Algorithm Design and Analysis Project Presentation
Ads applications of ads
Designing A Syntax Based Retrieval System03
Course module of DS
Compiler Design QA
Multi prefix trie
TRIES_PATRICIA.pptxnnnnnnnnnnnnnnnnnnnnnnnnn

More from Tech_MX (20)

PPTX
Virtual base class
PPTX
Uid
PPTX
Theory of estimation
PPTX
Templates in C++
PPT
String & its application
PPTX
Statistical quality__control_2
PPTX
Stack data structure
PPTX
Spss
PPTX
Spanning trees & applications
PPTX
Set data structure 2
PPTX
Set data structure
PPTX
Real time Operating System
PPTX
Parsing
PPTX
Mouse interrupts (Assembly Language & C)
PPT
Motherboard of a pc
PPTX
More on Lex
PPTX
MultiMedia dbms
PPTX
Merging files (Data Structure)
PPTX
Memory dbms
PPTX
Linkers
Virtual base class
Uid
Theory of estimation
Templates in C++
String & its application
Statistical quality__control_2
Stack data structure
Spss
Spanning trees & applications
Set data structure 2
Set data structure
Real time Operating System
Parsing
Mouse interrupts (Assembly Language & C)
Motherboard of a pc
More on Lex
MultiMedia dbms
Merging files (Data Structure)
Memory dbms
Linkers

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
KodekX | Application Modernization Development
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
A Presentation on Artificial Intelligence
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
Diabetes mellitus diagnosis method based random forest with bat algorithm
Understanding_Digital_Forensics_Presentation.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
KodekX | Application Modernization Development
NewMind AI Monthly Chronicles - July 2025
Per capita expenditure prediction using model stacking based on satellite ima...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Building Integrated photovoltaic BIPV_UPV.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
A Presentation on Artificial Intelligence
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Machine learning based COVID-19 study performance prediction
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.

Application of tries

  • 2. Why Trie Data Structure? • Searching trees in general favor keys which are of fixed size since this leads to efficient storage management. • However in case of applications which are retrieval based and which call for keys varying length, tries provide better options. • Tries are also called as Lexicographic Search trees.
  • 3. Definition For Trie: • A trie of order m may be empty. • If not empty, then it consists of an ordered sequence of exactly m tries of order m. • The branching at any level of the trie is determined only by the portion and not by the whole word. • Alphabetic keys require a trie of order 27(26 letters of the alphabet + a blank) for their storage and
  • 4. Representation Of Trie • The trie have two category of node structures. ▫ Branch node ▫ Information node • A branch node is merely a collection of LINK fields each pointing either to a branch node or to an information node. • An information node holds the keys that is to be stored in the trie.
  • 5. Operations In Trie • The three operations in the trie data Structure are • Searching a trie • Insertion • Deletion
  • 6. Example • Construct a Trie for the keys 001,100,111,011,010 STEP 1: Insert (001,100) 0 1 001 100
  • 7. Example • STEP 2: 0 1 Insert(111) 0 1 001 100 111
  • 8. Example • STEP 3: Insert(011) 0 1 0 1 0 1 001 011 100 111
  • 9. Example • STEP 4: Insert(010) 0 1 0 1 0 1 001 100 111 010 011
  • 10. INSERTION • To Insert a key K into the trie we begin as we would to search for the key k, possibly moving down the trie. • At the point where the LINK field of the branch node leads to NIL, the key k is inserted as an information node.
  • 11. Insertion • In the Above constructed trie INSERT A KEY 101. 0 1 0 1 0 1 001 111 010 011 100 101
  • 12. Deletion • The deletion of a key K from a trie proceeds as one would to search for the key. • On reaching the information node(node l)holding k, the same is deleted. ▫ It need to be ensured the branch node to which node l is linked accommodates other information node as well!  If there is more than1 information node/if there is at least one LINK field/or both ,then deletion id done.  If it leaves the branch node with just one more key ,we delete the branch node and push the node to a higher level  If the situation leads to node being the only non empty node , once again we delete the branch node and push node to a higher level.
  • 13. Deletion • Delete 010: 0 1 0 1 0 1 001 111 010 011 100 101
  • 14. Performance Of trie • The performance of search trees is determined by the number of keys that form the tree. • The complexities of the search ,delete and insert operations were given by O(h) where the height h is dependent on the number of keys represented in the search tree. • In contrast, the performance of the trie is dependent on the length of the key-The number of characters forming the key rather than the number of keys itself.
  • 15. APPLICATIONS OF TRIE DATA STRUCTURES
  • 16. TRIES IN AUTO COMPLETE • Since a trie is a tree-like data structure in which each node contains an array of pointers, one pointer for each character in the alphabet. • Starting at the root node, we can trace a word by following pointers corresponding to the letters in the target word. • Starting from the root node, you can check if a word exists in the trie easily by following pointers corresponding to the letters in the target word.
  • 17. AUTO COMPLETE • Auto-complete functionality is used widely over the internet and mobile apps. A lot of websites and apps try to complete your input as soon as you start typing. • All the descendants of a node have a common prefix of the string associated with that node.
  • 19. AUTO COMPLETE IN GOOGLE SEARCH
  • 20. WHY TRIES IN AUTO COMPLETE • Implementing auto complete using a trie is easy. • We simply trace pointers to get to a node that represents the string the user entered. By exploring the trie from that node down, we can enumerate all strings that complete user’s input.
  • 21. CRIMINOLOGY • Suppose that you are at the scene of a crime and observe the first few characters CRX on the registration plate of the getaway car. If we have a trie of registration numbers, we can use the characters CRX to reach a subtrie that contains all registration numbers that begin with CRX. The elements in this subtrie can then be examined to see which cars satisfy other properties that might have been observed.
  • 22. AUTOMATIC COMMAND COMPLETION • When using an operating system such as Unix or DOS, we type in system commands to accomplish certain tasks. For example, the Unix and DOS command cd may be used to change the current directory.
  • 23. Commands that have the prefix “ps” • ps2ascii ps2pdf psbook psmandup psselect • ps2epsi ps2pk pscal psmerge pstopnm • ps2frag ps2ps psidtopgm psnup pstops • ps2gif psbb pslatex psresize pstruct • Figure 10 Commands that begin with "ps" We can simply the task of typing in commands by providing a command completion facility which automatically types in the command suffix once the user has typed in a long enough prefix to uniquely identify the command. For instance, once the letters psi have been entered, we know that the command must be psidtopgm because there is only one command that has the prefix psi. In this case, we replace the need to type in a 9 character command name by the need to type in just the first 3 characters of the command!
  • 24. LONGEST PREFIX MATCHING • Longest prefix match (also called Maximum prefix length match) refers to an algorithm used by routers in Internet Protocol (IP) networking to select an entry from a routing table . • Because each entry in a routing table may specify a network, one destination address may match more than one routing table entry. The most specific table entry — the one with the highest subnet mask — is called the longest prefix match. It is called this because it is also the entry where the largest number of leading address bits in the table entry match those of the destination address.
  • 25. For example, consider this IPv4 routing table (CIDR notation is used): 192.168.20.16/28 192.168.0.0/16 When the address 192.168.20.19 needs to be looked up, both entries in the routing table "match". That is, both entries contain the looked up address. In this case, the longest prefix of the candidate routes is 192.168.20.16/28, since its subnet mask (/28) is higher than the other entry's mask (/16), making the route more specific.
  • 26. • A network browser keeps a history of the URLs of sites that you have visited. By organizing this history as a trie, the user need only type the prefix of a previously used URL and the browser can complete the URL.
  • 28. SPELL CHECKERS • Spell checkers are ubiquitous. Word processors have spell checkers, as do browser-based e-mail clients. They all work the same way: a dictionary is stored in some data structure, then each word of input is submitted to a search in the data structure, and those that fail are flagged as spelling errors
  • 29. SPELL CHECKERS • There are many appropriate data structures to store the word list, including a sorted array accessed via binary search, a hash table, or a bloom filter. In this exercise you are challenged to store the word list character-by-character in a trie.
  • 31. Spell Check.. a bc… 0 p …z 0 a e i u 1 a g s pug page 2 pig peg pest
  • 32. PHONE BOOK SEARCH.. • Trie data structure are mostly used to search for a contact on phone book. • Prefix Matching a = a*
  • 33. Example a bc… r s …z Contacts in Phone book 0 alberto t ram a sankar alberto ram 1 star stella a e sanka 2 r star stella
  • 34. PHONE BOOK SEARCH.. • Suffix Matching • Can be used to index all E suffixes in a text in order to carry out fast full text searches.
  • 35. TRIES IN T9 • T9 is a technology used on many mobile phones to make typing text messages easier. • The idea is simple - each number of the phone's keypad corresponds to 3-4 letters of the alphabet. • Many phones will notice when you type in a word that is not in its dictionary, and will add that word. Others keep track of the frequency of certain words and favor those words over other words that have the same sequence of keypresses.
  • 36. TRIES IN T9 • How does a T9 dictionary work? • It can be implemented in several ways, one of them is Trie. The route is represented by the digits and the nodes point to collection of words. • T9 works by filtering the possibilities down sequentially starting with the first possible letters.
  • 37. TRIES IN T9 • It can be implemented using nested hash tables as well, the key of the hash table is a letter and on every digit the algorithm calculates all possible routes (O(3^n) routes). • For example, If we type '4663' we get 'good' when we press down button we get 'gone' then 'home' etc..