If modification of the tree is allowed then each query can be solved in O(height). find(node, k) { if (count(node->left) + 1 == k) result = node; else if (count(node->left) < k) result = find(node->right, k - count(node->left) - 1); return find(node->left, k); }
-- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.