Conduct doubling experiments to compute the run time and plot the results (for array A and B ) for array sizes n = 2, 4, ... 1024. The function merge_sort (provided) . def merge (front, back):     pos_f, pos_b = 0,0     merged = np.zeros(len(front)+len(back))     for i in range (len(merged)):         if pos_f == len(front):             merged[i] = back[pos_b]             pos_b += 1         elif pos_b == len(back):             merged[i] = front[pos_f]             pos_f += 1         elif front[pos_f] < back[pos_b]:             merged[i] = front[pos_f]             pos_f += 1         else:             merged[i] = back[pos_b]             pos_b += 1     return merged def merge_sort(A):     n = len(A)     if n <= 1:         return A     mid = int(n/2)     front = merge_sort(A[0:mid])     back = merge_sort(A[mid:])     return merge(front, back)   ARRAY A) Ai s perfectly sorted and contains random integers (0 to 100 inclusive). b) B is reversely sorted and contains random integers (0 to 100 inclusive)

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Conduct doubling experiments to compute the run time and plot the results (for array A and B ) for array sizes n = 2, 4, ... 1024. The function merge_sort (provided) .

def merge (front, back):
    pos_f, pos_b = 0,0
    merged = np.zeros(len(front)+len(back))
    for i in range (len(merged)):
        if pos_f == len(front):
            merged[i] = back[pos_b]
            pos_b += 1
        elif pos_b == len(back):
            merged[i] = front[pos_f]
            pos_f += 1
        elif front[pos_f] < back[pos_b]:
            merged[i] = front[pos_f]
            pos_f += 1
        else:
            merged[i] = back[pos_b]
            pos_b += 1
    return merged


def merge_sort(A):
    n = len(A)
    if n <= 1:
        return A
    mid = int(n/2)
    front = merge_sort(A[0:mid])
    back = merge_sort(A[mid:])
    return merge(front, back)

 

ARRAY

A) Ai s perfectly sorted and contains random integers (0 to 100 inclusive).

b) B is reversely sorted and contains random integers (0 to 100 inclusive)

Expert Solution
steps

Step by step

Solved in 2 steps with 3 images

Blurred answer
Knowledge Booster
Merge Sort
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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education