SlideShare a Scribd company logo
TRIES
AN EXCELLENT DATA
STRUCTURE FOR
STRINGS
Tries
 Instructor
Md. Shamsujjoha
Senior Lecturer
Department of CSE
East West University
 Presented by:
Md. Naim Khan
Id :2014-2-60-092
Md. Riad Khan
Id :2014-1-60-040
Slide
2
Overview
 History & Definition
 Types of Tries
Standard Tries
Compressed Tries
Suffix Tries
 Conclusion
Slide
3
History
 The term trie comes from retrieval.
 This term was coined by Edward Fredkin, who
pronounce it tri as in the word retrieval.
Slide
4
Definition of Tries
 A data structure for representing a collection of
strings.
 In computer science, a trie, also called digital tree
and sometimes radix tree or prefix tree.
Tries support fast pattern matching.
Slide
5
Properties of a tries
 A multi-way tree.
 Each node has from 1 to n children.
 Each edge of the tree is labeled with a character.
 Each leaf nodes corresponds to the stored string,
which is a concatenation of characters on a path
from the root to this node.
Slide
6
Standard Trie
 The standard trie for a set of strings S is an ordered
tree such that:
*Each node but the root is labeled with a character.
*The children of a node are alphabetically ordered.
*The paths from the external nodes to the root yield
the strings of S.
Slide
7
Standard Tries - Insertion
 Strings ={an, and, any, at}
n
a
d
t
y
Root
Slide
8
Example of Standard tries
 Example: Standard trie for the set of strings
S = { bear, bell, bid, bull, buy, sell, stock, stop }
te
s
uie
b
o
llla
d y
c
k
p
lllr
Root
Slide
9
Handling keys(strings)
 When a key(string) is a prefix of another key.
 How can we know that “an” is a word?
Example: an, and
n
a
d
t
y
Root
Slide
10
Handling keys(strings)
 We add a special termination symbol “$’’
 We append the “$’’ to each keyword
 Strings={ an, and, any, at}
n
a
d
t
y
Root
$
$ $
$
Slide
11
Standard Tries- Searching
 Search hit: Node where search ends has a $ symbol
 Search - sea
n
a
d
t
y
Root
a t
e
s
$
$$
$
$ $
Slide
12
Standard Tries- Deletion
 Three cases
Word not found…!
Word exists as a stand alone word.
Word exists as a prefix of another word
Slide
13
Standard Tries- Deletion
 Word not found
return false.
 Word exists as a stand alone word
part of any other word
does not a part of any other word
Slide
14
Standard Tries- Deletion
 Part of any other word
 Delete - sea
n
a
d
t
y
Root
a t
e
s
$
$$
$
$ $
Slide
15
Deleted
Standard Tries-Deletion
 Does not a part of any other word
 Delete - set
n
a
d
t
y
Root
t
e
s
$
$
$
$ $
Slide
16
Deleted
Standard Tries- Deletion
 Word exists as a prefix of any other word.
 Delete - an
n
a
d
t
y
Root
a t
e
s
$
$$
$
$ $
Slide
17
Deleted
Compressd Tries
 Tries with nodes of degree at least 2
 Obtained by standard tries by compressing
chains of redundant nodes
Slide
18
Compressed Trie- Example
 In order to understand Compressed Trie we need to
see the Standard Trie Example:
te
s
uie
b
o
llla
d y
c
k
p
lllr
Root
Standard Trie
Slide
19
Compressed Tries Example
 Compressed Tries:
 S = { bear, bell, bid, bull, buy, sell, stock, stop }
b
s
e u toid ell
llar ll y
ck p
Root Compressed Trie
Slide
20
Suffix Tries
 A suffix trie is a compressed trie for all the suffixes of
a text.
 Suffix trie are a space-efficient data structure to store
a string that allows many kinds of queries to be
answered quickly.
Slide
21
Example of Suffix Tries
 Let us consider an example text “soon$″.
Root
s
o
o
n
o
o
n
n
n
$
$
$
$
$
Slide
22
soon$
oon$
$
n$
on$
Done
 After alphabetically ordered the trie will look like
Root
s
o
o
n
o
o
n
n
n
$
$
$
$
$
Example of Suffix Tries
Understanding Requirements
 Insertion is faster as compared to the Hash Table
 Lookup is much more faster than Hash Table
implementations
 There are no collision of different keys in tries
Slide
23
References
Web pages
 http://www.mathcs.emory.edu/~cheung/Courses/323/Syll
abus/Text/trie01.html
 http://fbim.fh-
regensburg.de/~saj39122/sal/skript/progr/pr45102/Tries.p
df
 http://www.ideserve.co.in/learn/trie-delete
 http://algs4.cs.princeton.edu/lectures/52Tries.pdf
Book
 Data Structure and Algorithm
by Alfred V. Aho
Jeffery D. Ullman
John E.HopcroftJohn
Slide
24
Questions or Suggestions
Slide
25
Thank you
Slide
26
Inquiry
riadmrk.khan@gmail.com
naim1248@gmail.com

More Related Content

What's hot (20)

Binary Search
Binary SearchBinary Search
Binary Search
 
3.9 external sorting
3.9 external sorting3.9 external sorting
3.9 external sorting
 
AVL Tree
AVL TreeAVL Tree
AVL Tree
 
Red black tree
Red black treeRed black tree
Red black tree
 
Syntax directed translation
Syntax directed translationSyntax directed translation
Syntax directed translation
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 
Radix sort presentation
Radix sort presentationRadix sort presentation
Radix sort presentation
 
Data Structures- Part5 recursion
Data Structures- Part5 recursionData Structures- Part5 recursion
Data Structures- Part5 recursion
 
Bfs and Dfs
Bfs and DfsBfs and Dfs
Bfs and Dfs
 
Asymptotic notations
Asymptotic notationsAsymptotic notations
Asymptotic notations
 
Binary tree
Binary  treeBinary  tree
Binary tree
 
Presentation on Breadth First Search (BFS)
Presentation on Breadth First Search (BFS)Presentation on Breadth First Search (BFS)
Presentation on Breadth First Search (BFS)
 
B and B+ tree
B and B+ treeB and B+ tree
B and B+ tree
 
Merge sort algorithm
Merge sort algorithmMerge sort algorithm
Merge sort algorithm
 
04 brute force
04 brute force04 brute force
04 brute force
 
Data structure - Graph
Data structure - GraphData structure - Graph
Data structure - Graph
 
heap Sort Algorithm
heap  Sort Algorithmheap  Sort Algorithm
heap Sort Algorithm
 
Graph traversals in Data Structures
Graph traversals in Data StructuresGraph traversals in Data Structures
Graph traversals in Data Structures
 
Huffman coding
Huffman coding Huffman coding
Huffman coding
 
Recurrences
RecurrencesRecurrences
Recurrences
 

Viewers also liked (20)

Application of tries
Application of triesApplication of tries
Application of tries
 
Trie Data Structure
Trie Data StructureTrie Data Structure
Trie Data Structure
 
Tries - Tree Based Structures for Strings
Tries - Tree Based Structures for StringsTries - Tree Based Structures for Strings
Tries - Tree Based Structures for Strings
 
Trie (1)
Trie (1)Trie (1)
Trie (1)
 
Trie tree
Trie treeTrie tree
Trie tree
 
Lec18
Lec18Lec18
Lec18
 
Interactive High-Dimensional Visualization of Social Graphs
Interactive High-Dimensional Visualization of Social GraphsInteractive High-Dimensional Visualization of Social Graphs
Interactive High-Dimensional Visualization of Social Graphs
 
Introduction of suffix tree
Introduction of suffix treeIntroduction of suffix tree
Introduction of suffix tree
 
Multi way&btree
Multi way&btreeMulti way&btree
Multi way&btree
 
Packet forwarding in wan.46
Packet  forwarding in wan.46Packet  forwarding in wan.46
Packet forwarding in wan.46
 
Suffix Tree and Suffix Array
Suffix Tree and Suffix ArraySuffix Tree and Suffix Array
Suffix Tree and Suffix Array
 
Application of hashing in better alg design tanmay
Application of hashing in better alg design tanmayApplication of hashing in better alg design tanmay
Application of hashing in better alg design tanmay
 
Introduction to statistics ii
Introduction to statistics iiIntroduction to statistics ii
Introduction to statistics ii
 
Geo webinarjune2015
Geo webinarjune2015Geo webinarjune2015
Geo webinarjune2015
 
R-Trees and Geospatial Data Structures
R-Trees and Geospatial Data StructuresR-Trees and Geospatial Data Structures
R-Trees and Geospatial Data Structures
 
B tree long
B tree longB tree long
B tree long
 
Fundamentals
FundamentalsFundamentals
Fundamentals
 
Basic Packet Forwarding in NS2
Basic Packet Forwarding in NS2Basic Packet Forwarding in NS2
Basic Packet Forwarding in NS2
 
B-tree & R-tree
B-tree & R-treeB-tree & R-tree
B-tree & R-tree
 
Multi ways trees
Multi ways treesMulti ways trees
Multi ways trees
 

Recently uploaded

CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Electivekarthi keyan
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdfKamal Acharya
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationRobbie Edward Sayers
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwoodseandesed
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringC Sai Kiran
 
Top 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering ScientistTop 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering Scientistgettygaming1
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptssuser9bd3ba
 
İTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopİTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopEmre Günaydın
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdfKamal Acharya
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectRased Khan
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdfKamal Acharya
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.PrashantGoswami42
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
 
Online resume builder management system project report.pdf
Online resume builder management system project report.pdfOnline resume builder management system project report.pdf
Online resume builder management system project report.pdfKamal Acharya
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerapareshmondalnita
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Krakówbim.edu.pl
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-IVigneshvaranMech
 
A case study of cinema management system project report..pdf
A case study of cinema management system project report..pdfA case study of cinema management system project report..pdf
A case study of cinema management system project report..pdfKamal Acharya
 

Recently uploaded (20)

CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
 
Top 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering ScientistTop 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering Scientist
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
İTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopİTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering Workshop
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker project
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Online resume builder management system project report.pdf
Online resume builder management system project report.pdfOnline resume builder management system project report.pdf
Online resume builder management system project report.pdf
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Kraków
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
A case study of cinema management system project report..pdf
A case study of cinema management system project report..pdfA case study of cinema management system project report..pdf
A case study of cinema management system project report..pdf
 

Data structure tries

  • 2. Tries  Instructor Md. Shamsujjoha Senior Lecturer Department of CSE East West University  Presented by: Md. Naim Khan Id :2014-2-60-092 Md. Riad Khan Id :2014-1-60-040 Slide 2
  • 3. Overview  History & Definition  Types of Tries Standard Tries Compressed Tries Suffix Tries  Conclusion Slide 3
  • 4. History  The term trie comes from retrieval.  This term was coined by Edward Fredkin, who pronounce it tri as in the word retrieval. Slide 4
  • 5. Definition of Tries  A data structure for representing a collection of strings.  In computer science, a trie, also called digital tree and sometimes radix tree or prefix tree. Tries support fast pattern matching. Slide 5
  • 6. Properties of a tries  A multi-way tree.  Each node has from 1 to n children.  Each edge of the tree is labeled with a character.  Each leaf nodes corresponds to the stored string, which is a concatenation of characters on a path from the root to this node. Slide 6
  • 7. Standard Trie  The standard trie for a set of strings S is an ordered tree such that: *Each node but the root is labeled with a character. *The children of a node are alphabetically ordered. *The paths from the external nodes to the root yield the strings of S. Slide 7
  • 8. Standard Tries - Insertion  Strings ={an, and, any, at} n a d t y Root Slide 8
  • 9. Example of Standard tries  Example: Standard trie for the set of strings S = { bear, bell, bid, bull, buy, sell, stock, stop } te s uie b o llla d y c k p lllr Root Slide 9
  • 10. Handling keys(strings)  When a key(string) is a prefix of another key.  How can we know that “an” is a word? Example: an, and n a d t y Root Slide 10
  • 11. Handling keys(strings)  We add a special termination symbol “$’’  We append the “$’’ to each keyword  Strings={ an, and, any, at} n a d t y Root $ $ $ $ Slide 11
  • 12. Standard Tries- Searching  Search hit: Node where search ends has a $ symbol  Search - sea n a d t y Root a t e s $ $$ $ $ $ Slide 12
  • 13. Standard Tries- Deletion  Three cases Word not found…! Word exists as a stand alone word. Word exists as a prefix of another word Slide 13
  • 14. Standard Tries- Deletion  Word not found return false.  Word exists as a stand alone word part of any other word does not a part of any other word Slide 14
  • 15. Standard Tries- Deletion  Part of any other word  Delete - sea n a d t y Root a t e s $ $$ $ $ $ Slide 15 Deleted
  • 16. Standard Tries-Deletion  Does not a part of any other word  Delete - set n a d t y Root t e s $ $ $ $ $ Slide 16 Deleted
  • 17. Standard Tries- Deletion  Word exists as a prefix of any other word.  Delete - an n a d t y Root a t e s $ $$ $ $ $ Slide 17 Deleted
  • 18. Compressd Tries  Tries with nodes of degree at least 2  Obtained by standard tries by compressing chains of redundant nodes Slide 18
  • 19. Compressed Trie- Example  In order to understand Compressed Trie we need to see the Standard Trie Example: te s uie b o llla d y c k p lllr Root Standard Trie Slide 19
  • 20. Compressed Tries Example  Compressed Tries:  S = { bear, bell, bid, bull, buy, sell, stock, stop } b s e u toid ell llar ll y ck p Root Compressed Trie Slide 20
  • 21. Suffix Tries  A suffix trie is a compressed trie for all the suffixes of a text.  Suffix trie are a space-efficient data structure to store a string that allows many kinds of queries to be answered quickly. Slide 21
  • 22. Example of Suffix Tries  Let us consider an example text “soon$″. Root s o o n o o n n n $ $ $ $ $ Slide 22 soon$ oon$ $ n$ on$ Done
  • 23.  After alphabetically ordered the trie will look like Root s o o n o o n n n $ $ $ $ $ Example of Suffix Tries
  • 24. Understanding Requirements  Insertion is faster as compared to the Hash Table  Lookup is much more faster than Hash Table implementations  There are no collision of different keys in tries Slide 23
  • 25. References Web pages  http://www.mathcs.emory.edu/~cheung/Courses/323/Syll abus/Text/trie01.html  http://fbim.fh- regensburg.de/~saj39122/sal/skript/progr/pr45102/Tries.p df  http://www.ideserve.co.in/learn/trie-delete  http://algs4.cs.princeton.edu/lectures/52Tries.pdf Book  Data Structure and Algorithm by Alfred V. Aho Jeffery D. Ullman John E.HopcroftJohn Slide 24