SlideShare a Scribd company logo
1 of 35
Presented to:
Md. Shamsujjoha
 Senior Lecturer of CSE department
 East West University
Presented by:
 Md. Khabbab Hossain Tusher
 Date:03/04/2016
Threaded binary tree
A binary search tree in which each node uses an otherwise-empty left
child link to refer to the node's in-order predecessor and an empty
right child link to refer to its in-Order Successor.
Definition
Slide 1
A Simple Binary Tree
A
B
D
E
C
GF
Slide 2
A
B C
Null D Null Null E Null Null G NullNull F Null
Slide 3
Threaded binary tree
Threaded Binary Tree
 In above binary tree, there are 8 null pointers & actual 6
pointers.
 In all there are 14 pointers.
 We can generalize it that for any binary tree with n nodes
there will be (n+1) null pointers and 2n total pointers.
 The objective here to make effective use of these null
pointers.
 A. J. perils & C. Thornton jointly proposed idea to make
effective use of these null pointers.
 According to this idea we are going to replace all the null
pointers by the appropriate pointer values called threads.
Slide 4
 And binary tree with such pointers are called threaded tree.
 In the memory representation of a threaded binary tree, it is necessary
to distinguish between a normal pointer and a thread.
Slide 5
Threaded Binary Tree:
One-Way
 We will use the right thread only in this case.
 To implement threads we need to use in-order successor of the tree
Slide 6
Threaded Binary Tree:
One-Way
A
B C
Null D Null E Null G NullNull F
Inorder Traversal of The tree: D, B, E, A, F, C, G
Slide 7
Two way Threaded Tree/Double Threads
 Again two-way threading has left pointer of the first node and right
pointer of the last node will contain the null value. The header nodes
is called two-way threading with header node threaded binary tree.
Slide 8
A
B
D
Inorder Traversal of The tree: D, B, E, A, F, C, G
E
C
F G
Dangling
Dangling
Slide 9
• Dangling can be solved as follows
 Introduce a header node.
 The left and right pointer of the header node are treated as normal
links and are initialized to point to header node itself.
Slide 10
A
B
D
Inorder Traversal of The tree: D, B, E, A, F, C, G
E
C
F G
Head
Slide 11
Structure of Thread BT
Node structure
For the purpose of our evaluation algorithm, we assume each
node has five fields:
LTag Left data Right RTag
We define this node structure in C as:
Struct Node{
int data;
struct Node *Left,*Right;
bool Ltag;
boolRtag;
};
Slide 12
L.Tag L.Child head R.child
R.Tag
1 A 1
1 1
0 D 0 0 E 0 0 F 0 0 G 0
1 B 1 1 C 1
Inorder Traversal of The tree: D B E A F C G
Slide 13
Threaded Tree Traversal
• We start at the leftmost node in the tree, print it, and follow
its right thread
• If we follow a thread to the right, we output the node and
continue to its right.
• If we follow a link to the right, we go to the leftmost node,
print it, and continue.
Slide 14
8
75
3
1
6
Start at leftmost node, print it
Output
1
9
Slide 15
8
75
3
1
6
Follow thread to right, print node
Output
1
3
9
Slide 16
8
75
3
1
6
Follow link to right, go to leftmost
node and print
Output
1
3
5
9
Slide 17
8
75
3
1
6
Follow thread to right, print node
Output
1
3
5
6
9
Slide 18
8
75
3
1
6
Follow link to right, go to
leftmost node and print
Output
1
3
5
6
7
9
Slide 19
8
75
3
1
6
9
Follow thread to right, print node
Output
1
3
5
6
7
8
Slide 20
8
75
3
91
6
Follow link to right, go to
leftmost node and print
Output
1
3
5
6
7
8
9
Slide 21
void inOrder(struct Node *root)
{
struct Node *cur = leftmost(root);
while (cur != NULL)
 {
 printf("%d ", cur->data);

 // If this node is a thread node,
then go to
// inorder successor
 if (cur->rightThread)
 cur = cur->right;
 else // Else go to the leftmost child
in right subtree
 cur = leftmost(cur->right);
 }
 }
8
75
3
1
6
9
Slide 22
Threaded Binary Trees
 In threaded binary trees, The
null pointers are used as thread.
 We can use the null pointers
which is a efficient way to use
computers memory.
 Traversal is easy. Completed
without using stack or
reccursive function.
 Structure is complex.
 Insertion and deletion takes
more time.
Normal Binary Trees
 In a normal binary trees, the null
pointers remains null.
 We can’t use null pointers so it is a
wastage of memory.
 Traverse is not easy and not
memory efficient.
 Less complex than Threaded binary
tree.
 Less Time consuming than
Threaded Binary tree.
Comparison of Threaded BT
Slide 23
 Inserting a node to Threaded Binary Tree:
Inserting a node X as the right child of a nodes.
1st Case:
- If G has an empty right subtree, then the insertion is simple
Slide 24
A
B
D
Inserting X as a right child of G
E
C
F G
Head
X
New inorder traversal is: D,B,E,A,F,C,G,X
Slide 25
2nd Case:
If the right subtree of C is not empty, then this right child is made
the right child of X after insertion.
Slide 26
A
B
D
New Inorder Traversal of The tree: D, B, E, A, F, C, X,G
E
F
G
Head
x
C
Slide 27
Advantage
 1. By doing threading we avoid
the recursive method of
traversing a Tree , which doesn’t
use of stack and consumes a lot
of memory and time .
 2 . The node can keep record of
its root .
 3. Backward Traverse is
possible.
 4. Applicable in most types of
the binary tree.
Disadvantage
 1. This makes the Tree more
complex .
 2. More prone to errors when
both the child are not present &
both values of nodes pointer to
their ancestors.
 3. Lot of time consumes when
deletion or insertion is
performed.
Threaded binary tree
Slide 28
 Same as any kind of Binary Tree.
 Used in search and Traverse
based work
APPLICATIONS
Slide 29
Conclusion
 Excellent concept in modern computer science.
 Saves Time and memory.
 Traversal and search are very efficient.
 Insertion and deletion are not so efficient.
Slide 30
References
 http://www.geeksforgeeks.org/inorder-tree-traversal-without-
recursion-and-without-stack/
 http://www.delorie.com/gnu/docs/avl/libavl_183.html
 http://www.math-
cs.gordon.edu/courses/cs321/lectures/threaded.html
 https://prezi.com/1yitau0wnwlg/threaded-binary-tree-in-data-
structures/
 http://stackoverflow.com/questions/6744770/confusion-with-
threaded-binary-tree
 Various Text Book for data structure.
Contacts us
:tkhabbab@gmail.com/
khabbabcse@ewu.edu.bd

More Related Content

What's hot

Tree in data structure
Tree in data structureTree in data structure
Tree in data structure
ghhgj jhgh
 

What's hot (20)

Programming in c Arrays
Programming in c ArraysProgramming in c Arrays
Programming in c Arrays
 
Linked list
Linked listLinked list
Linked list
 
1.5 binary search tree
1.5 binary search tree1.5 binary search tree
1.5 binary search tree
 
Threaded Binary Tree.pptx
Threaded Binary Tree.pptxThreaded Binary Tree.pptx
Threaded Binary Tree.pptx
 
Tree in data structure
Tree in data structureTree in data structure
Tree in data structure
 
1.1 binary tree
1.1 binary tree1.1 binary tree
1.1 binary tree
 
Searching techniques in Data Structure And Algorithm
Searching techniques in Data Structure And AlgorithmSearching techniques in Data Structure And Algorithm
Searching techniques in Data Structure And Algorithm
 
Tree - Data Structure
Tree - Data StructureTree - Data Structure
Tree - Data Structure
 
linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure
 
Circular queue
Circular queueCircular queue
Circular queue
 
Doubly Linked List
Doubly Linked ListDoubly Linked List
Doubly Linked List
 
Red black tree
Red black treeRed black tree
Red black tree
 
Binary trees1
Binary trees1Binary trees1
Binary trees1
 
Binary Search Tree in Data Structure
Binary Search Tree in Data StructureBinary Search Tree in Data Structure
Binary Search Tree in Data Structure
 
Binary Tree in Data Structure
Binary Tree in Data StructureBinary Tree in Data Structure
Binary Tree in Data Structure
 
Breadth First Search & Depth First Search
Breadth First Search & Depth First SearchBreadth First Search & Depth First Search
Breadth First Search & Depth First Search
 
Array data structure
Array data structureArray data structure
Array data structure
 
Expression trees
Expression treesExpression trees
Expression trees
 
Data Structure (Tree)
Data Structure (Tree)Data Structure (Tree)
Data Structure (Tree)
 
Abstract Data Types
Abstract Data TypesAbstract Data Types
Abstract Data Types
 

Viewers also liked

Threaded binarytree&heapsort
Threaded binarytree&heapsortThreaded binarytree&heapsort
Threaded binarytree&heapsort
Ssankett Negi
 
Representation of binary tree in memory
Representation of binary tree in memoryRepresentation of binary tree in memory
Representation of binary tree in memory
Rohini Shinde
 
data structure, stack, stack data structure
data structure, stack, stack data structuredata structure, stack, stack data structure
data structure, stack, stack data structure
pcnmtutorials
 
Set data structure
Set data structure Set data structure
Set data structure
Tech_MX
 

Viewers also liked (20)

Threaded binarytree&heapsort
Threaded binarytree&heapsortThreaded binarytree&heapsort
Threaded binarytree&heapsort
 
THREADED BINARY TREE AND BINARY SEARCH TREE
THREADED BINARY TREE AND BINARY SEARCH TREETHREADED BINARY TREE AND BINARY SEARCH TREE
THREADED BINARY TREE AND BINARY SEARCH TREE
 
Trees data structure
Trees data structureTrees data structure
Trees data structure
 
(Binary tree)
(Binary tree)(Binary tree)
(Binary tree)
 
Graph in data structure
Graph in data structureGraph in data structure
Graph in data structure
 
Binary tree
Binary  treeBinary  tree
Binary tree
 
Full threded binary tree
Full threded binary treeFull threded binary tree
Full threded binary tree
 
Representation of binary tree in memory
Representation of binary tree in memoryRepresentation of binary tree in memory
Representation of binary tree in memory
 
Queue data structure
Queue data structureQueue data structure
Queue data structure
 
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
 
16 Fibonacci Heaps
16 Fibonacci Heaps16 Fibonacci Heaps
16 Fibonacci Heaps
 
Rfid
RfidRfid
Rfid
 
358 33 powerpoint-slides_12-heaps_chapter-12
358 33 powerpoint-slides_12-heaps_chapter-12358 33 powerpoint-slides_12-heaps_chapter-12
358 33 powerpoint-slides_12-heaps_chapter-12
 
Heap tree
Heap treeHeap tree
Heap tree
 
data structure, stack, stack data structure
data structure, stack, stack data structuredata structure, stack, stack data structure
data structure, stack, stack data structure
 
Programming in c++
Programming in c++Programming in c++
Programming in c++
 
data structure(tree operations)
data structure(tree operations)data structure(tree operations)
data structure(tree operations)
 
Set data structure
Set data structure Set data structure
Set data structure
 
Fibonacci Heap
Fibonacci HeapFibonacci Heap
Fibonacci Heap
 
Data Structures
Data StructuresData Structures
Data Structures
 

Similar to Threaded Binary Tree

Binary trees
Binary treesBinary trees
Binary trees
Amit Vats
 

Similar to Threaded Binary Tree (20)

Trees unit 3
Trees unit 3Trees unit 3
Trees unit 3
 
Tree and Binary Search tree
Tree and Binary Search treeTree and Binary Search tree
Tree and Binary Search tree
 
Unit 3.ppt
Unit 3.pptUnit 3.ppt
Unit 3.ppt
 
Trees in Data Structure
Trees in Data StructureTrees in Data Structure
Trees in Data Structure
 
introduction to_trees
introduction to_treesintroduction to_trees
introduction to_trees
 
Unit8 C
Unit8 CUnit8 C
Unit8 C
 
Threaded binary tree
Threaded binary treeThreaded binary tree
Threaded binary tree
 
VCE Unit 05.pptx
VCE Unit 05.pptxVCE Unit 05.pptx
VCE Unit 05.pptx
 
Trees in data structure
Trees in data structureTrees in data structure
Trees in data structure
 
Trees in Data Structure
Trees in Data StructureTrees in Data Structure
Trees in Data Structure
 
Unit 6 tree
Unit   6 treeUnit   6 tree
Unit 6 tree
 
Chapter 09-Trees
Chapter 09-TreesChapter 09-Trees
Chapter 09-Trees
 
Binary trees
Binary treesBinary trees
Binary trees
 
Unit 4.1 (tree)
Unit 4.1 (tree)Unit 4.1 (tree)
Unit 4.1 (tree)
 
Heap tree
Heap treeHeap tree
Heap tree
 
The dag representation of basic blocks
The dag representation of basic blocksThe dag representation of basic blocks
The dag representation of basic blocks
 
Lec15
Lec15Lec15
Lec15
 
unit06-3-Trees.pdf
unit06-3-Trees.pdfunit06-3-Trees.pdf
unit06-3-Trees.pdf
 
trees-and-graphs_computer_science_for_student.pptx
trees-and-graphs_computer_science_for_student.pptxtrees-and-graphs_computer_science_for_student.pptx
trees-and-graphs_computer_science_for_student.pptx
 
Dsc++ unit 3 notes
Dsc++ unit 3 notesDsc++ unit 3 notes
Dsc++ unit 3 notes
 

Recently uploaded

Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling ManjurJual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
ptikerjasaptiker
 
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit RiyadhCytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Abortion pills in Riyadh +966572737505 get cytotec
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
nirzagarg
 
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
vexqp
 
怎样办理旧金山城市学院毕业证(CCSF毕业证书)成绩单学校原版复制
怎样办理旧金山城市学院毕业证(CCSF毕业证书)成绩单学校原版复制怎样办理旧金山城市学院毕业证(CCSF毕业证书)成绩单学校原版复制
怎样办理旧金山城市学院毕业证(CCSF毕业证书)成绩单学校原版复制
vexqp
 
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
vexqp
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
nirzagarg
 
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
vexqp
 
PLE-statistics document for primary schs
PLE-statistics document for primary schsPLE-statistics document for primary schs
PLE-statistics document for primary schs
cnajjemba
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
gajnagarg
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
nirzagarg
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Bertram Ludäscher
 

Recently uploaded (20)

Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
 
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling ManjurJual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
 
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit RiyadhCytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
 
Data Analyst Tasks to do the internship.pdf
Data Analyst Tasks to do the internship.pdfData Analyst Tasks to do the internship.pdf
Data Analyst Tasks to do the internship.pdf
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.ppt7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.ppt
 
Ranking and Scoring Exercises for Research
Ranking and Scoring Exercises for ResearchRanking and Scoring Exercises for Research
Ranking and Scoring Exercises for Research
 
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
 
怎样办理旧金山城市学院毕业证(CCSF毕业证书)成绩单学校原版复制
怎样办理旧金山城市学院毕业证(CCSF毕业证书)成绩单学校原版复制怎样办理旧金山城市学院毕业证(CCSF毕业证书)成绩单学校原版复制
怎样办理旧金山城市学院毕业证(CCSF毕业证书)成绩单学校原版复制
 
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
 
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
 
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
 
Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...
 
PLE-statistics document for primary schs
PLE-statistics document for primary schsPLE-statistics document for primary schs
PLE-statistics document for primary schs
 
Capstone in Interprofessional Informatic // IMPACT OF COVID 19 ON EDUCATION
Capstone in Interprofessional Informatic  // IMPACT OF COVID 19 ON EDUCATIONCapstone in Interprofessional Informatic  // IMPACT OF COVID 19 ON EDUCATION
Capstone in Interprofessional Informatic // IMPACT OF COVID 19 ON EDUCATION
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
 

Threaded Binary Tree

  • 1. Presented to: Md. Shamsujjoha  Senior Lecturer of CSE department  East West University Presented by:  Md. Khabbab Hossain Tusher  Date:03/04/2016
  • 3. A binary search tree in which each node uses an otherwise-empty left child link to refer to the node's in-order predecessor and an empty right child link to refer to its in-Order Successor. Definition Slide 1
  • 4. A Simple Binary Tree A B D E C GF Slide 2
  • 5. A B C Null D Null Null E Null Null G NullNull F Null Slide 3 Threaded binary tree
  • 6. Threaded Binary Tree  In above binary tree, there are 8 null pointers & actual 6 pointers.  In all there are 14 pointers.  We can generalize it that for any binary tree with n nodes there will be (n+1) null pointers and 2n total pointers.  The objective here to make effective use of these null pointers.  A. J. perils & C. Thornton jointly proposed idea to make effective use of these null pointers.  According to this idea we are going to replace all the null pointers by the appropriate pointer values called threads. Slide 4
  • 7.  And binary tree with such pointers are called threaded tree.  In the memory representation of a threaded binary tree, it is necessary to distinguish between a normal pointer and a thread. Slide 5
  • 8. Threaded Binary Tree: One-Way  We will use the right thread only in this case.  To implement threads we need to use in-order successor of the tree Slide 6
  • 9. Threaded Binary Tree: One-Way A B C Null D Null E Null G NullNull F Inorder Traversal of The tree: D, B, E, A, F, C, G Slide 7
  • 10. Two way Threaded Tree/Double Threads  Again two-way threading has left pointer of the first node and right pointer of the last node will contain the null value. The header nodes is called two-way threading with header node threaded binary tree. Slide 8
  • 11. A B D Inorder Traversal of The tree: D, B, E, A, F, C, G E C F G Dangling Dangling Slide 9
  • 12. • Dangling can be solved as follows  Introduce a header node.  The left and right pointer of the header node are treated as normal links and are initialized to point to header node itself. Slide 10
  • 13. A B D Inorder Traversal of The tree: D, B, E, A, F, C, G E C F G Head Slide 11
  • 14. Structure of Thread BT Node structure For the purpose of our evaluation algorithm, we assume each node has five fields: LTag Left data Right RTag We define this node structure in C as: Struct Node{ int data; struct Node *Left,*Right; bool Ltag; boolRtag; }; Slide 12
  • 15. L.Tag L.Child head R.child R.Tag 1 A 1 1 1 0 D 0 0 E 0 0 F 0 0 G 0 1 B 1 1 C 1 Inorder Traversal of The tree: D B E A F C G Slide 13
  • 16. Threaded Tree Traversal • We start at the leftmost node in the tree, print it, and follow its right thread • If we follow a thread to the right, we output the node and continue to its right. • If we follow a link to the right, we go to the leftmost node, print it, and continue. Slide 14
  • 17. 8 75 3 1 6 Start at leftmost node, print it Output 1 9 Slide 15
  • 18. 8 75 3 1 6 Follow thread to right, print node Output 1 3 9 Slide 16
  • 19. 8 75 3 1 6 Follow link to right, go to leftmost node and print Output 1 3 5 9 Slide 17
  • 20. 8 75 3 1 6 Follow thread to right, print node Output 1 3 5 6 9 Slide 18
  • 21. 8 75 3 1 6 Follow link to right, go to leftmost node and print Output 1 3 5 6 7 9 Slide 19
  • 22. 8 75 3 1 6 9 Follow thread to right, print node Output 1 3 5 6 7 8 Slide 20
  • 23. 8 75 3 91 6 Follow link to right, go to leftmost node and print Output 1 3 5 6 7 8 9 Slide 21
  • 24. void inOrder(struct Node *root) { struct Node *cur = leftmost(root); while (cur != NULL)  {  printf("%d ", cur->data);   // If this node is a thread node, then go to // inorder successor  if (cur->rightThread)  cur = cur->right;  else // Else go to the leftmost child in right subtree  cur = leftmost(cur->right);  }  } 8 75 3 1 6 9 Slide 22
  • 25. Threaded Binary Trees  In threaded binary trees, The null pointers are used as thread.  We can use the null pointers which is a efficient way to use computers memory.  Traversal is easy. Completed without using stack or reccursive function.  Structure is complex.  Insertion and deletion takes more time. Normal Binary Trees  In a normal binary trees, the null pointers remains null.  We can’t use null pointers so it is a wastage of memory.  Traverse is not easy and not memory efficient.  Less complex than Threaded binary tree.  Less Time consuming than Threaded Binary tree. Comparison of Threaded BT Slide 23
  • 26.  Inserting a node to Threaded Binary Tree: Inserting a node X as the right child of a nodes. 1st Case: - If G has an empty right subtree, then the insertion is simple Slide 24
  • 27. A B D Inserting X as a right child of G E C F G Head X New inorder traversal is: D,B,E,A,F,C,G,X Slide 25
  • 28. 2nd Case: If the right subtree of C is not empty, then this right child is made the right child of X after insertion. Slide 26
  • 29. A B D New Inorder Traversal of The tree: D, B, E, A, F, C, X,G E F G Head x C Slide 27
  • 30. Advantage  1. By doing threading we avoid the recursive method of traversing a Tree , which doesn’t use of stack and consumes a lot of memory and time .  2 . The node can keep record of its root .  3. Backward Traverse is possible.  4. Applicable in most types of the binary tree. Disadvantage  1. This makes the Tree more complex .  2. More prone to errors when both the child are not present & both values of nodes pointer to their ancestors.  3. Lot of time consumes when deletion or insertion is performed. Threaded binary tree Slide 28
  • 31.  Same as any kind of Binary Tree.  Used in search and Traverse based work APPLICATIONS Slide 29
  • 32. Conclusion  Excellent concept in modern computer science.  Saves Time and memory.  Traversal and search are very efficient.  Insertion and deletion are not so efficient. Slide 30
  • 33. References  http://www.geeksforgeeks.org/inorder-tree-traversal-without- recursion-and-without-stack/  http://www.delorie.com/gnu/docs/avl/libavl_183.html  http://www.math- cs.gordon.edu/courses/cs321/lectures/threaded.html  https://prezi.com/1yitau0wnwlg/threaded-binary-tree-in-data- structures/  http://stackoverflow.com/questions/6744770/confusion-with- threaded-binary-tree  Various Text Book for data structure.
  • 34.