Compare and contrast three implementations for a priority queue in terms of what the data structures represent; a sketch of the principal routines; andO(f(n)) timings when it is implemented as
a) an (unsorted) array
b) a sorted array
c) a heap
You should consider the routinesinsert,extractandtest-for-emptinessfor a priority queue holdingnelements. Consider also a routine to initialise a priority queue to hold a given set ofnelements.