traversals for recursive bst