Question: Create a program named TreeWeightedSum.java and implement the following method: public int weightedSum(BT bt) This method accepts a BT as a parameter and returns the
Create a program named TreeWeightedSum.java and implement the following method: public int weightedSum(BT bt) This method accepts a BT as a parameter and returns the sum of the values stored in a binary tree of integers weighted by the depth of each value. You should return the value at the root plus 2 times the values stored at the next level of the tree plus 3 times the values stored at the next level of the tree plus 4 times the values stored at the next level of the tree and so on. For example, in the tree below: +---+ | 9 | +---+ / \ +---+ +---+ | 5 | | 10 | +---+ +---+ / \ \ +---+ +---+ +---+ | 4 | | 7 | | 20 | +---+ +---+ +---+ / \ +---+ +---+ | 6 | | 25 | +---+ +---+ The sum would be computed as: 1 * 9 + 2 * (5 + 10) + 3 * (4 + 7 + 20) + 4 * (6 + 25) = 256
given
BT.java
//source code of BT.java
public class BT{ BTNode root; public BT(){ root=null; }
public void insertNode(int data){ insertNode(new BTNode(data)); } public void insertNode(BTNode node){ root=insertNodeHelper(root, node); } private BTNode insertNodeHelper(BTNode tree, BTNode node){ if(tree==null) tree=node; else if(node.compareTo(tree)<=0) tree.setLeft(insertNodeHelper(tree.getLeft(), node));
else tree.setRight(insertNodeHelper(tree.getRight(), node)); return tree; } }
BTNode.txt
//this is the source code of BTNode.java
public class BTNode{ private BTNode left, right; private int data; public BTNode(){ left=right=null; data=0; } public BTNode(int data){ this.data=data; left=right=null; } public void setLeft(BTNode node){ left=node; } public void setRight(BTNode node){ right=node; } public BTNode getLeft(){ return left; } public BTNode getRight(){ return right; } public void setData(int data){ this.data=data; } public int getData(){ return data; } public int compareTo(BTNode node){ return data - node.data; } public int compareTo(int data){ return this.data - data; } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
