Determine if a binary search tree is height balanced

Assignment Help Computer Engineering
Reference no: EM132198953

Write a function to apply left or right rotations to a binary search tree based on the height of the left and right sub-trees of the root.

The function should first determine if a binary search tree is height balanced, and if not, rotate the tree until it is.

Your algorithm may need to apply a left or right rotation multiple times.

You will not need to apply both a left and right rotation to any tree. The function should return the root of the tree.

USE ONLY THIS FUNCTION HEADER:

TreeNode* CheckHeightAndRotate(TreeNode *root);

TreeNode struct:

struct TreeNode { int key; TreeNode *leftChild; TreeNode *rightChild; TreeNode *parent; };

Example:

Input Tree: 15 / \ 8 18 / \ 5 12 / \ 3 6 Expected Output: 8 / \ 5 15 / \ / \ 3 6 12 18

Reference no: EM132198953

Questions Cloud

Delete that element from the array while keeping the other : Write a function called delete_array that takes an array of ints, its length by reference, and the index of an element to delete.
The management topic intercultural communications : Identify an organizational problem associated with the management topic Intercultural communications.
Calculate the compensated elasticities of labour supply : The wage rate rises to $25/hour and she decides to work 41.5 hours a week. At S25/hour, if she worked 49 hours a week at the new relative prices she would have.
What are the key ways to select groups in an experiment : What are the key ways to select groups in an experiment? Consumer decision trees.....
Determine if a binary search tree is height balanced : Write a function to apply left or right rotations to a binary search tree based on the height of the left and right sub-trees of the root.
How the decision would change in response to the regulation : Graphically depict the decision of the optimal time spent searching for a job. Suppose a new regulation requires all universities to supply full information.
Calculate the sum of the squares of the elements : Write a function in C that takes three parameters: the address of a two - dimensional array of type int, the number of rows in the array.
Can imaginary risks even be identified in practice : For this assignment you are to read the attached articles, "Trouble in Happyville" by Paul Portney, and "Letting Environmentalists' Preferences Count" by Peter.
Exercises to automate a business process : Assignment - Uniform Scene - use skills acquired through practical laboratory exercises to automate a business process - Interpret and construct representations

Reviews

Write a Review

Computer Engineering Questions & Answers

  Describe four ways in which the privacy threats posed

Identify and describe four ways in which the privacy threats posed by cybertechnology differ from those posed by earlier technologies?

  There are many additional algorithms available select 2

there are many additional algorithms available. choose 2 sorting and 2 searching algorithms and describe them in

  You have been recently hired by the fortune 500 company to

you have been recently hired by a fortune 500 company to assist in refining the companys enterprise architecture. one

  The solution is about the kinds of ai systems

The solution is about the types of AI systems that could be used to help make systems more efficient. It also explains how they would help.

  Determine what data is displayed

Kirk (2016) tells us that data adjustments affects what data is displayed and presentation adjustments affects how the data is displayed.

  Describe any user data inputs and outputs your application

What items you will be able to create and how you will create them? List and describe any user data inputs and outputs your application will require and produce.

  Define private instance variables to store basic details

CPT121 / COSC2135 Programming Assignment. Define private instance variables to store basic RentalMovie details: Also define the private boolean instance variables: Provide a pre-defined constructor for the class

  A program stopped running when its name was changed

A program stopped running when its name was changed. Why? What is the exit status of a command, and where is it stored?

  Create a windows application that has the functionality

Create a windows application that has the functionality of a calculator but works with decimal values. Because division by zero is not thrown by the CLR when the operands are nonintegral.

  How many elements in the matching index of the other list

If the lists have the same number of elements: order by how many elements in the matching index of the other list are smaller;

  Function to input the 20 integers in the range of 1 to 6.

In C Write down the main function in order to input the 20 integers in range of 1 to 6. Write down a function in order to count number of times the numbers 2 and 5 occur.

  Create a modular design diagram and proposal summary

To continue the network design to support the growth and expansion plan of West Consulting, you will create a modular design diagram and proposal summary.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd