Threaded Binary Tree, Data Structure & Algorithms

If a node in a binary tree is not containing left or right child or it is a leaf node then that absence of child node can be represented by the null pointers. The space engaged by these null entries can be utilized to store any kind of valuable information. One possible way to utilize or use this space is to have special pointer that point to nodes higher in the tree that is ancestors. Such special pointers are called threads and the binary tree having such pointers is called as threaded binary tree. There are various ways to thread a binary tree each of these  ways  either  correspond  either  in-order  or  pre-order  traversal  of  T. A Threaded Binary Tree is a type of binary tree in which every node that does not have a right child has a THREAD (or a link) to its INORDER successor. By doing this threading we avoid the recursive method of traversing a Tree, which makes use of stacks and wastes a lot of time and memory.

The node structure for a threaded binary tree differs a bit and its like this

struct NODE

{

struct NODE *leftchild;

int node_value;

struct NODE *rightchild;

struct NODE *thread;

}

The Threaded Binary tree made from normal binary tree...

2066_Threaded binary tree.png

The INORDER traversal for the above drawn tree is -- D B A E C. Then the respective

Threaded Binary tree will be --

1538_Threaded binary tree1.png

B does not have right child and its inorder successor is A and so a thread has been made in between them. Likewise, for D and E. C have no right child but it has no inorder successor even, therefore it has a hanging thread.

Posted Date: 7/10/2012 3:35:44 AM | Location : United States







Related Discussions:- Threaded Binary Tree, Assignment Help, Ask Question on Threaded Binary Tree, Get Answer, Expert's Help, Threaded Binary Tree Discussions

Write discussion on Threaded Binary Tree
Your posts are moderated
Related Questions
1. A string s is said to be periodic with a period α, if s is α k for some k > 2. (Note that α k is the string formed by concatenating k times.) A DNA sequence s is called a tand

What is A Container Taxonomy It's useful to place containers in a taxonomy to help understand their relationships to one another and as a basis for implementation using a class

Using Assertions When writing code, programmer must state pre- and subtle post conditions for public operations, state class invariants and insert unreachable code assertions a

After learning this, you will be able to: understand the concept of algorithm; understand mathematical foundation underlying the analysis of algorithm; to understand se

Encryption the plain-text using the round keys: 1. (Key schedule) Implement an algorithm that will take a 128 bit key and generate the round keys for the AES encryption/decryp

Q. The reason bubble sort algorithm is inefficient is that it continues execution even after an array is sorted by performing unnecessary comparisons. Therefore, the number of comp

Program: Program segment for insertion of an element into the queue add(int value) { struct queue *new; new = (struct queue*)malloc(sizeof(queue)); new->value = val

The space-complexity of the algorithm is a constant. It just needs space of three integers m, n and t. Thus, the space complexity is O(1). The time complexity based on the loop

Assume you are in the insurance business. Find two examples of Type 2 slowly changing dimensions in that business. As an analyst on the project, write the specifications for applyi

Write a program to create a hashed file that stores the records currently in the file " data_2013 ". Records should use the same fixed-length schema given previously, and should ag