1 public class TreeNode {
5 boolean treeWeightComputed;
9 public TreeNode( TreeNode left, TreeNode right, double nodeWeight ) {
12 this.nodeWeight = nodeWeight;
13 treeWeightComputed = false;
17 public TreeNode( double nodeWeight ) {
18 //this( null, null, nodeWeight );
19 this.nodeWeight = nodeWeight;
20 treeWeightComputed = false;
24 public void setLeft( TreeNode left ) {
28 public void setRight( TreeNode right ) {
33 public double computeTreeWeight() {
34 if( treeWeightComputed ) {
37 treeWeight = nodeWeight;
39 treeWeight += left.computeTreeWeight();
42 treeWeight += right.computeTreeWeight();
44 treeWeightComputed = true;
49 public String toString() {
50 String s = toString( "", "" );
51 if( treeWeightComputed ) {
52 s += "tree weight: "+treeWeight;
57 private String toString( String tab, String prefix ) {
58 String s = tab+nodeWeight+" {\n";
60 s += left.toString( tab+" ", s );
65 s += right.toString( tab+" ", s );