Efficiency

  • Describe the efficiency of PriorityQueue based sort using Big-Oh notation.

Consider your implementation of Heap.sort from the previous section. Assume Java's PriorityQueue is implemented as Binary Heap, hence insertion/removal are O(lgn)\Omicron(\lg n).

Exercise Complete the following table. Use Big-Oh notation to asymptotically describe time/space complexities.

Time ComplexitySpace ComplexityInput SpaceAuxiliary Space
Heap.sort
Solution
  • We need a PriorityQueue: O(n)\Omicron(n) auxiliary space.
  • nn inserts into PriorityQueue, each O(lgn)\Omicron(\lg n), adds up to O(nlgn)\Omicron(n \lg n)
  • nn removes from PriorityQueue, each O(lgn)\Omicron(\lg n), adds up to O(nlgn)\Omicron(n \lg n)
Time ComplexitySpace ComplexityInput SpaceAuxiliary Space
Heap.sortO(nlgn)\Omicron(n \lg n)O(n)\Omicron(n)O(n)\Omicron(n)O(n)\Omicron(n)