Skip to main content

Posts

Showing posts from 2017

Amazon Tree traversal Questions | Amazon interview Questions

The following function is supposed to calculate the maximum depth or height of a Binary tree -- the number of nodes along the longest path from the root node down to the farthest leaf node. int maxDepth( struct node* node) {     if (node==NULL)         return 0;     else     {         /* compute the depth of each subtree */         int lDepth = maxDepth(node->left);         int rDepth = maxDepth(node->right);             /* use the larger one */         if (lDepth > rDepth)             return X;         else return Y;     } } What should be the values of X and ...

Amazon’s most asked interview questions

k largest(or smallest) elements in an array | added Min Heap method Question:  Write an efficient program for printing k largest elements in an array. Elements in array can be in any order. For example, if given array is [1, 23, 12, 9, 30, 2, 50] and you are asked for the largest 3 elements i.e., k = 3 then your program should print 50, 30 and 23. Recommended: Please solve it on “ PRACTICE  ” first, before moving on to the solution. Method 1 (Use Bubble k times) Thanks to Shailendra for suggesting this approach. 1) Modify Bubble Sort to run the outer loop at most k times. 2) Print the last k elements of the array obtained in step 1. Time Complexity: O(nk) Like Bubble sort, other sorting algorithms like Selection Sort can also be modified to get the k largest elements. Method 2 (Use temporary array) K largest elements from arr[0..n-1] 1) Store the first k elements in a temporary array temp[0..k-1]. 2) Find the smallest element in temp[...