Question: When dealing with trees, algorithm complexity is usually measured in terms of the number of nodes in the tree while the elementary operation is usually

When dealing with trees, algorithm complexity is usually measured in terms of the number of nodes in the tree while the elementary operation is usually a node traversal. Let T be a binary tree such that each node u has a parent , rightChild and leftChild and a key element, key . The left/right child may be null indicating it does not exist. Given a binary tree, we wish to determine if it is a binary search tree or not.

(a) Gomer thinks we can solve this problem by using a preorder traversal. When each node u is processed, it simply verifies that the left childs key is strictly less than us key and us right childs key is strictly greater than us key. Gomers solution, however, will not work. Provide a counter example to demonstrate this and explain how it shows Gomer is wrong.

(b) Design a correct algorithm that, given a root note in a binary tree (with parent , rightChild , leftChild and key elements) determines if it is a binary search tree or not. Fully analyze your algorithm.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!