public void PrintInorderTraversal(BinarySearchTreeNode root) { if (root == null) { return; } PrintInorderTraversal(root.GetBinarySearchTreeNodeLeft()); Console.Write(root.GetBinarySearchNodeData() + "->"); PrintInorderTraversal(root.GetBinarySearchTreeNodeRight()); }
public BinarySearchTreeNode Insert(BinarySearchTreeNode root, int data) { if (root == null) { root = new BinarySearchTreeNode(data); return(root); } if (data < root.GetBinarySearchNodeData()) { root.SetBinarySearchNodeLeft(Insert(root.GetBinarySearchTreeNodeLeft(), data)); } else { root.SetBinarySearchNodeRight(Insert(root.GetBinarySearchTreeNodeRight(), data)); } return(root); }
private void _PrintNthLargestValue(BinarySearchTreeNode root, int temp, int N) { if (root == null || (temp > N)) { return; } _PrintNthLargestValue(root.GetBinarySearchTreeNodeRight(), temp, N); temp++; if (temp == N) { Console.WriteLine("The " + N + " rd/(th)largest value is " + root.GetBinarySearchNodeData()); return; } _PrintNthLargestValue(root.GetBinarySearchTreeNodeLeft(), temp, N); }