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

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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