2. Definition
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.
3. Threaded Binary Trees
• Two many null pointers in current
representation
of binary trees
n: number of nodes
number of non-null links: n-1
total links: 2n
null links: 2n-(n-1)=n+1
• Replace these null pointers with some useful
“threads”.
4. Threaded Binary Trees (Continued)
If ptr->left_child is null,
replace it with a pointer to the node that would be
visited before ptr in an inorder traversal
If ptr->right_child is null,
replace it with a pointer to the node that would be
visited after ptr in an inorder traversal
5. A Threaded Binary Tree
root A
dangling
B C
dangling D E F G
inorder traversal:
H I H, D, I, B, E, A, F, C, G
6. Data Structures for Threaded BT
left_thread left_child data right_child right_thread
TRUE FALSE
TRUE: thread FALSE: child
typedef struct threaded_tree
*threaded_pointer;
typedef struct threaded_tree {
short int left_thread;
threaded_pointer left_child;
char data;
threaded_pointer right_child;
short int right_thread; };
7. • 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
8. Memory Representation of A Threaded BT
root --
f f
f A f
f B f f C f
f D f t E t t F t t G
t H t t I t
9. • Right-threaded tree:
• A variant of a threaded tree in which only
the right thread, i.e. link to the successor,
of each node is maintained.
10. Advantages of Threaded Tree
• It reduces the time complexity of algorithm.
• Operation like traversal, insertion, deletion can
be done without using recursive algorithm.
• It becomes very easy to find out inorder
successor of any node ‘n’ in a threaded binary
tree. If the right thread of n is true or 1 then the
node pointed by its right pointer is the desired
information successor. If the right thread of ‘n’ is
false or 0 then the inorder successor must be
on the right subtree of ‘n’.
12. Infix, prefix, and postfix notation
• representation of math expressions as a binary tree
– operators have their left and right operands as
subtrees
– literal values are stored as leaves
• notations
– prefix: Polish notation
– infix: standard notation
– postfix: reverse Polish notation
15. Game Tree
• Tree generated for games such as tic-tac-
toe
• Consider all the possible position for the
given position. And find the best solution
to win.
16. Heap Sort
• It is based on tree structure.
• Heap sort is in two phase
– The entries are arranged in the list satisfying
the requirement of a heap
– We repeatedly remove the top of the heap
and promote another entry to take its place.
17. Construction of heap
• First construct a complete binary tree
• There are two types of heap- min heap or
ascending heap or max heap or
descending heap
18. • Consider the elements present at a level
one less than the maximum level. They
are converted to heap in the same way as
replacing the node of a heap.
• In next step the elements that are present
at a level two less than the maximum level
of the tree are considered
• Likewise in each step one level is
decremented and all the subtrees at that
level are converted to heaps
• Eg 13, 4, 11, 15, 59, 27, 19, 3, 92, 5
19. Phase two
• Remove the root of tree and place it to last
and re-create the heap in descending
order and repeat the process.
• Solution on board.