logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(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
ANSWER ALL QUESTIONS

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)
Attachments:

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

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Atharva PatilComputer science

538 Answers

Hire Me
expert
Chrisantus MakokhaComputer science

611 Answers

Hire Me
expert
AyooluwaEducation

812 Answers

Hire Me
expert
RIZWANAMathematics

806 Answers

Hire Me

Get Free Quote!

263 Experts Online