find kth largest from stream using heap
construct bst from pre-order traversal
traversing BST in zig-zag form