Engineering Questions with Answers - Multiple Choice Questions

# Data Structure MCQ – Threaded Binary Tree

1 - Question

What is a threaded binary tree traversal?
a) a binary tree traversal using stacks
b) a binary tree traversal using queues
c) a binary tree traversal using stacks and queues
d) a binary tree traversal without using stacks and queues

Explanation: This type of tree traversal will not use stack or queue.

2 - Question

What are the disadvantages of normal binary tree traversals?
a) there are many pointers which are null and thus useless
b) there is no traversal which is efficient
c) complexity in implementing
d) improper traversals

Explanation: As there are majority of pointers with null value going wasted we use threaded binary trees.

3 - Question

In general, the node content in a threaded binary tree is ________
a) leftchild_pointer, left_tag, data, right_tag, rightchild_pointer
b) leftchild_pointer, left_tag
c) leftchild_pointer, left_tag, right_tag, rightchild_pointer
d) leftchild_pointer, left_tag, data

Explanation: It contains additional 2 pointers over normal binary tree node structure.

4 - Question

What are null nodes filled with in a threaded binary tree?
a) inorder predecessor for left node and inorder successor for right node information
b) right node with inorder predecessor and left node with inorder successor information
c) they remain null
d) some other values randomly

Explanation: If preorder or postorder is used then the respective predecessor and successor info is stored.

5 - Question

Which of the following tree traversals work if the null left pointer pointing to the predecessor and null right pointer pointing to the successor in a binary tree?
a) inorder, postorder, preorder traversals
b) inorder
c) postorder
d) preorder

Explanation: In threaded binary trees, the null left pointer points to the predecessor and the right null pointer point to the successor. In threaded binary trees, we can use in-order, preorder and postorder traversals to visit every node in the tree.

6 - Question

What are double and single threaded trees?
a) when both left, right nodes are having null pointers and only right node is null pointer respectively
b) having 2 and 1 node
c) using single and double linked lists
d) using heaps and priority queues

Explanation: They are properties of double and single threaded binary trees respectively.

7 - Question

What is wrong with below code for inorder traversal of inorder threaded binary tree:

```   inordertraversal(threadedtreenode root):
while(q!=root):
q=inorderpredecessor(q)
print q.data```

a) inordersuccessor instead of inorderpredecessor must be done
b) code is correct
c) it is code for post order
d) it is code for pre order

Explanation: Property of inorder threaded binary tree is left node with inorder predecessor and right node with inorder successor information are stored.

8 - Question

What is inefficient with the below threaded binary tree picture?

a) it has dangling pointers
b) nothing inefficient