Create a program that implements a sort algorithm of your choice and applies it to a random
Question:
Create a program that implements a sort algorithm of your choice and applies it to a random vector of 1,000 elements Repeat the process applying it to random vectors of 2,000, 3,000, ... up to 10,000 elements Compute the time complexity of your algorithm and verify if the time it takes to your 1,000 to 10,000 corresponds to the time complexity prediction. Besides the implementation of your program, write a short report describing your experiences and conclusion.
Criteria:
1. Created at least 10 arrays of size 1000-10,000. Elements were of the correct values.
2. Properly implemented a sorting algorithm in Python. Correctly identified the sorting algorithm used. Algorithm accounts for all edge cases and works on any array of numbers input.
3. Includes a call to C profiler on calls of the sorting function to at least ten random arrays from the size of 1000 to 10,000. (Student may include more.)
4. written report in a separate file from the Python code. The report addresses the following issues/includes the following: -big oh class of the sorting algorithm in question -screenshots of the C Profiler -graphs plotting the size of the random arrays (x axis) and the time taken to sort (y axis) -student's reflections on how the C Profiler data relates to what s/he has learned about algorithmic analysis and in particular to the big oh class of her/his algorithm.
Building Java Programs A Back To Basics Approach
ISBN: 9780135471944
5th Edition
Authors: Stuart Reges, Marty Stepp