static void Main(string[] args) { BinaryTreeElement elem_left = new BinaryTreeElement( null, new BinaryTreeElement( null, new BinaryTreeElement( null, new BinaryTreeElement( new BinaryTreeElement( null, null, 8), null, 22), 33), 18 ), 1); BinaryTreeElement elem_right = new BinaryTreeElement( null, null, 9); BinaryTreeElement elem_root = new BinaryTreeElement( elem_left, elem_right, 1); BinaryTree tree = new BinaryTree( elem_root ); BinaryTreeSumVisitor sum = new BinaryTreeSumVisitor(); BinaryTreeDepthVisitor depth = new BinaryTreeDepthVisitor(); Console.WriteLine( sum.GetSum( tree ) ); Console.WriteLine( depth.GetDepth( tree ) ); Console.ReadKey(); }
private int getSumFromElement(BinaryTreeElement element) { if ( element == null ) { return 0; } return element.Value + getSumFromElement( element.LeftNode ) + getSumFromElement( element.RightNode ); }
static void Main(string[] args) { BinaryTreeElement elem_left = new BinaryTreeElement( null, new BinaryTreeElement( null, new BinaryTreeElement( null, new BinaryTreeElement( new BinaryTreeElement( null, null, 8), null, 22), 33), 18), 1); BinaryTreeElement elem_right = new BinaryTreeElement(null, null, 9); BinaryTreeElement elem_root = new BinaryTreeElement(elem_left, elem_right, 1); BinaryTree tree = new BinaryTree(elem_root); BinaryTreeSumVisitor sum = new BinaryTreeSumVisitor(); BinaryTreeDepthVisitor depth = new BinaryTreeDepthVisitor(); Console.WriteLine(sum.GetSum(tree)); Console.WriteLine(depth.GetDepth(tree)); Console.ReadKey(); }
private int getSumFromElement(BinaryTreeElement element) { if (element == null) { return(0); } return(element.Value + getSumFromElement(element.LeftNode) + getSumFromElement(element.RightNode)); }
public int getElementDepth(BinaryTreeElement element) { if ( element == null ) { return 0; } if ( element.LeftNode == null && element.RightNode == null ) { return 1; } return 1 + Math.Max(getElementDepth(element.LeftNode), getElementDepth(element.RightNode)) ; }
public int getElementDepth(BinaryTreeElement element) { if (element == null) { return(0); } if (element.LeftNode == null && element.RightNode == null) { return(1); } return(1 + Math.Max(getElementDepth(element.LeftNode), getElementDepth(element.RightNode))); }
public BinaryTreeElement(BinaryTreeElement leftNode, BinaryTreeElement rightNode, int value) { this.LeftNode = leftNode; this.RightNode = rightNode; this.Value = value; }
public BinaryTree(BinaryTreeElement root) { this.Root = root; }