Mergesort. Merge left, merge right, merge.
Merge. Understand how to carry out the merge operation. How many compares does it use when comparing two arrays of size N in the best case? In the worst case?
Mergesort order of growth. Understand how to show that the order of growth of the number of compares is N lg N. Understand why the entire algorithm is also order N lg N.
Mergesort compare bounding. Know why the best case is ~ 1/2 N lg N and the worst case is ~ N lg N compares.
Mergesort properties. Mergesort is stable (why?). Mergesort uses N extra memory (why?). Does mergesort do particularly well on already sorted arrays? Partially ordered arrays?
Suppose that the variable cards is an array of cards. We could sort it, using your compareTo function, with a call to MergeX.sort(cards). Which of the following code fragments would produce an equivalent final result? Circle all equivalent code fragments.
Option 1: MergeX.sort(cards, Card.SUIT_ORDER); MergeX.sort(cards, Card.DENOM_ORDER); Option 2: MergeX.sort(cards, Card.DENOM_ORDER); MergeX.sort(cards, Card.SUIT_ORDER); Option 3: MergeX.sort(cards); MergeX.sort(cards, Card.SUIT_ORDER); Option 4: MergeX.sort(cards, Card.DENOM_ORDER); MergeX.sort(cards); Option 5: Quick.sort(cards, Card.SUIT_ORDER); Quick.sort(cards, Card.DENOM_ORDER); Option 6: Quick.sort(cards, Card.DENOM_ORDER); Quick.sort(cards, Card.SUIT_ORDER); Option 7: MergeX.sort(cards); Quick.sort(cards, Card.SUIT_ORDER); Option 8: Quick.sort(cards, Card.DENOM_ORDER); MergeX.sort(cards);Answers