Question: In this part, you have been asked to create a simple ADT tree. A company asked you to create a tree like the following:

In this part, you have been asked to create a simple ADT tree. A company asked you to create a tree like the following: 120 RD Eng 140 110 CEO 100 HR 77 Relation Hiring 20 22 As you can see you need the following: a Worker.java class, that only have name and salary attributes, you should have a constructor for this class. You need a Binary TREE ADT class to hold the tree. The Tree elements can have no children or many children (0,1,2,3,...) A binary tree ADT needs the following Name of the method Possible* signature of the method Explanation Constructor root() public static Worker root() parent(p) left(p) right(p) setLeft(p) setRight size() public static Worker parent(Worker p) public static Worker left(Worker p) public static Worker right(Worker p) public static Worker setLeft(Worker p) public static Worker setRight(Worker p) Optional Returns the root of the tree (or null if empty). [Returns object of Worker Type] Return the parent of worker p Return the left child of worker p Return the right child of worker p Set the left child of worker p set the right child of worker p Return the size Example You need to also write a method to print the tree (nothing fancy!!) You may do it in-order, preorder,..... Last part, create a main create the workers with their name and salary Add them to the tree similar to image, remember to use setLeft and setRight Lastly use your print and print the tree 1. What is the time complexity of adding new element to a binary tree? 2. What if we used general tree (0 to many children), what would be the time complexity of adding new element? Would the number of children have any effect on it? 3. What is the worst case for adding a new element to a general tree? Is there a relationship with the height of a tree and time complexity?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
