site:geeksforgeeks.org how do heaps work - Search