Assignment3: merge sort on doubly-linked list_Solution.

$30.00 $24.00

Using the class _DoublyLinkedBase from page 274 of lecture 8 notes as the linked list implementation, implement mergesort on a doubly linked list. Your mergesort function should accept an instance of type _DoublyLinkedBase, which you will construct in main by repeatedly inserting random numbers into a _DoublyLinkedBase instance. Once you have verified that your sorting…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Description

5/5 – (2 votes)

Using the class _DoublyLinkedBase from page 274 of lecture 8 notes as the linked list implementation, implement mergesort on a doubly linked list.

Your mergesort function should accept an instance of type _DoublyLinkedBase, which you will construct in main by repeatedly inserting random numbers into a _DoublyLinkedBase instance.

Once you have verified that your sorting algorithm is correct, test the algorithm on a range of list sizes from 10 to 1000 in increments of 10 (n=10, n=20, n=30, n=40, … , n=1000).

Finally, implement merge sort in python that handles a python List (array type) as input, instead of doubly linked list (can use my implementation on moodle). Compare the sorting times for mergesort on the _DoublyLinkedBase vs the List implementation. Use python’s matplotlib plotting function to generate a plot similar to what you see below, comparing mergesort on a _DoublyLinkedBase to mergesort on a List:

 

 

 

 

 

 

 

 

 

 

 

 

*note – the above plot compares quicksort and mergesort, from input sizes of 1 to 100,000. You will show something similar, but compare linked _DoublyLinkedBase mergesort to List mergesort on input sizes of 10 to 1000.

Include your plot as a pdf file along with your source code. Comment on the efficiency of linked list vs array implementation. Which is faster? Why?

Assignment3: merge sort on doubly-linked list_Solution.
$30.00 $24.00