(5/5)

# For this assignment you’ll be implementing several tree-based algorithms that we saw in class. Specifically you’re editing only “tree.c”.

INSTRUCTIONS TO CANDIDATES

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’.

(5/5)

## Related Questions

##### . Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

##### . The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

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. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

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

##### . SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

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

##### . 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 Sea Ports. Here are the classes and their instance variables we wish to define:

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

Hire Me