For this assignment you’ll be implementing several tree-based algorithms that we saw in class. Specifically you’re editing only “tree.c”. You shouldn’t change any other files. Here are your algorithms to implement:
AVL Tree - rebalanceTree
Here is a brief outlline of algorithm for rebalancing the tree using AVL trees:
Reminder: the balance of x is the height of the left subtree of x - height of the right subtree of x.
Let x be the node we are starting our rebalance from
While x is not NULL
if the balance of x is 2 or 2
Set z equal to the child of x with the greater height
if the balance of x and the balance of z have different signs
if the sign of the balance of z is + right rotate on z
if the sign of the balance of z is left rotate on z
if the balance of x is 2 right rotate on x
if the balance of x is 2 left rotate on x
be sure to update the heights of rotated nodes
Update height of the rotated nodes. (height of a node = height of its taller subtree plus 1).
Set x equal to the parent of x
Huffman Tree - printHuffmanEncoding
Given the root of a Huffman tree and a character, print the sequence of bits used to encode that character based on the tree.
Reminder: Going left in the Huffman tree appends a ‘0’ and going right ap- pends a ‘1’.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two majorconstructs of the C programming language – Fu
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of