/// <summary> /// Depth First Search tree traversal /// </summary> /// <param name="visitedNode">Takes a node which it will visit</param> virtual protected void Visit(BinaryNode visitedNode) { Visit(visitedNode.Left); Visit(visitedNode.Right); }
protected override void Visit(BinaryNode visitedNode) { }
private BinaryNode _nodeDuplicator(BinaryNode oldNode) => new BinaryNode(oldNode.Left, oldNode.Right, oldNode.NodeType);
protected abstract T Visit(BinaryNode node);