input phase phase ( (bcollection ( ( ( priority queue (( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (figure execution of selection-sort on collection ( insertion-sort if we implement the priority queue using sorted listthen we improve the running time of phase to ( )for each remove min operation on now takes ( time unfortunatelyphase becomes the bottleneck for the running timesincein the worst caseeach add operation takes time proportional to the current size of this sorting algorithm is better known as insertion-sort (see figure )in factour implementation for adding an element to priority queue is almost identical to step of insertion-sort as presented in section the worst-case running time of phase of insertion-sort is ( ( no (ni= iagainby proposition this implies worst-case ( time for phase and thusthe entire insertion-sort algorithm howeverunlike selection-sortinsertionsort has best-case running time of (ninput phase phase ( ( ( ( ( ( ( (bcollection ( ( ( ( ( ( (( ( priority queue (( ( ( ( ( ( ( ( ( ( (figure execution of insertion-sort on collection (