Question: 2. (30 points) Here is an SML mergesort program: fun merge ([], ys) = ys | merge (xs, []) = xs merge (x::xs, y::ys)

2. (30 points) Here is an SML mergesort program: fun merge ([],

2. (30 points) Here is an SML mergesort program: fun merge ([], ys) = ys | merge (xs, []) = xs merge (x::xs, y::ys) = if xy then x::merge (xs, y::ys) else y::merge (x::xs, ys) = ([], []) fun split [] 1 split [a] 1 split (a::b::cs) = = ([a], []) let val (M,N) = split cs in end (a: :M, b::N) fun mergesort ( ) = [] | mergesort [a] = [a] mergesort [a,b] = if a

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Algorithms Questions!