Skip to content

Python project to show sorting times for selection sort, insertion sort, and quick sort.

Notifications You must be signed in to change notification settings

RobertAndion/Sorting_Algorithm_Comparison_Python-AlgorithmsProjectOne

Repository files navigation

AlgorithmsProjectOne, Python Implementation

Hardware Information

The project was ran on a Red Hat Linux research server, with many cores and over 1TB of ram. I created a test.sh script that would run all of the required tests and outputted them to a text file. This text file was then migrated into the given csv file.

The projext, was written, tested, and developed in a linux environment and has not been tested to work on mac or windows, however it should.

How to run

In order to run the program you must enter the same directory as main.py. Main.py is the driver function that will take command line arguments and send them to the respective algorithm.

Run command structure:

python main.py <ALGORITHM> <SIZE> <TYPE_OF_DATA>

The valid choices for ALGORITHM are: q - Quicksort i - Insertion Sort s - Selection Sort

The valid choices for SIZE are: Any positive integer value, bad inputs are rejected.

The valid choices for TYPE_OF_DATA are: s - Sorted Data Array c - Constant Data Array r - Random Data Array

Example command to run:

python main.py q 10000 s

This will run quicksort on a sorted array of size 10000.

I have also left a smaller version of the test.sh script as an example of what I used to run them.

Note: The quicksort.py is my implementation while newQuickSortv2.py is one I found that would run with larger data, however v2 is worse with constant data than mine was.

About

Python project to show sorting times for selection sort, insertion sort, and quick sort.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published