in creating the heap data structurewe have come to the understanding that call to the pop method will return the smallest element in the heap the first element to pop off min heap is the first-smallest element in the list similarlythe seventh element to be popped off the min heap will be the seventh-smallest element in the list thereforeto find the ithsmallest element in list will require us to pop the heap number of times that is very simple and efficient way of finding the ith-smallest element in list but in selection algorithmswe will study another approach by which we can find the ith-smallest element in list selection algorithms have applications in filtering out noisy datafinding the mediansmallestand largest elements in listand can even be applied in computer chess programs summary graphs and heaps have been treated in this we looked at ways to represent graph in python using lists and dictionaries in order to traverse the graphwe looked at breadth-first searches and depth-first searches we then switched our attention to heaps and priority queues to understand their implementation the ended with using the concept of heap to find the ith-smallest element in list the subject of graphs is very complicated and just one will not do justice to it the journey with nodes will end with this the next will usher us into the arena of searching and the various means by which we can efficiently search for items in lists