Home » Java Program to calculate the Difference between the Sum of the Odd Level and the Even Level Nodes of a Binary Tree

Java Program to calculate the Difference between the Sum of the Odd Level and the Even Level Nodes of a Binary Tree

by Online Tutorials Library

Java Program to calculate the Difference between the Sum of the Odd Level and the Even Level Nodes of a Binary Tree

In this program, we need to calculate the difference between the sum of nodes present at odd levels and sum of nodes present at even levels. Suppose, if a tree contains 5 levels, then

Java Program to calculate the Difference between the Sum of the Odd Level and the Even Level Nodes of a Binary Tree

In the above diagram, odd levels are represented using blue dotted lines and even with green.

Algorithm

  • Define Node class which has three attributes namely: data, left, and right. Here, left represents the left child of the node and right represents the right child of the node.
  • When a node is created, Assign the data part of a node with an appropriate value having its left and right child as NULL.
  • Define another class which has an attribute root.
    • Root represents the root node of the tree having null value initially.

a. The difference() will calculate the difference between the sum of nodes at the odd and even levels:

  • Traverse through the binary tree level wise using Queues.
  • Keep track of current level using the variable currentLevel.
  • If the currentLevel is divisible by 2, then add all the values of nodes present in currentLevel to variable evenLevel. Else, add all the values of nodes to variable oddLevel.
  • Calculate the difference by subtracting value present in evenLevel from oddLevel.

Program:

Output:

Difference between sum of odd level and even level nodes: 11  
Next TopicJava Programs

You may also like