Write a recursive function named merge_sort that sorts a given list using the recursive algorithm of merge sort. Implement and use the helper function _merge , which merges two sorted arrays. Sample Output > merge_sort([10, 32, 83, 2, 72, 100, 32]) [2, 10, 32, 32, ] > merge_sort(['a','g','a','t','e']) ['a','a','g','e', 't'] In [ ]: def _merge(P, Q): ""merges two sorted arrays INPUT: * P. 0 - the two sorted arrays OUTPUT: a sorted list consisting of elements in P and Q pass In [ ]: def merge_sort(array): ""sorts a given list INPUT: * array - the list OUTPUT: a sorted copy of the list. pass

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter16: Searching, Sorting And Vector Type
Section: Chapter Questions
Problem 16SA
icon
Related questions
Question
100%

Please solve both parts of the question(the entire problem). Thank you!

Part I
Write a recursive function named merge_sort that sorts a given list using the recursive algorithm of merge sort. Implement and use the helper function
_merge , which merges two sorted arrays.
Sample Output
> merge_sort([10, 32, 83, 2, 72, 100, 32])
[2, 10, 32, 32, ]
> merge_sort ( ['a','g','a', 't','e'])
['a','a','g','e', 't']
In [ ]: def _merge(P, Q):
""merges two sorted arrays
INPUT:
* P, Q - the two sorted arrays
OUTPUT: a sorted list consisting of elements in P and Q
pass
In [ ]: def merge_sort(array):
""sorts a given list
INPUT:
* array - the list
OUTPUT: a sorted copy of the list.
pass
Part II
Use a proof by induction to show that the function merge_sort will correctly sort any array of size n.
Proof
Type your answer here. Use to type LaTeX math expressions, e.g. p A q
Transcribed Image Text:Part I Write a recursive function named merge_sort that sorts a given list using the recursive algorithm of merge sort. Implement and use the helper function _merge , which merges two sorted arrays. Sample Output > merge_sort([10, 32, 83, 2, 72, 100, 32]) [2, 10, 32, 32, ] > merge_sort ( ['a','g','a', 't','e']) ['a','a','g','e', 't'] In [ ]: def _merge(P, Q): ""merges two sorted arrays INPUT: * P, Q - the two sorted arrays OUTPUT: a sorted list consisting of elements in P and Q pass In [ ]: def merge_sort(array): ""sorts a given list INPUT: * array - the list OUTPUT: a sorted copy of the list. pass Part II Use a proof by induction to show that the function merge_sort will correctly sort any array of size n. Proof Type your answer here. Use to type LaTeX math expressions, e.g. p A q
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Troubleshooting
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning