Skip to content

Implementation of MergeSort, QuickSort, InsertionSort, ShellSort, BucketSort, RadixSort, Binary Insertion Sort, and Tim Sort followed by time complexity analysis.

Notifications You must be signed in to change notification settings

connormcmanigal/sorting-algorithm-analysis

 
 

Repository files navigation

DATA260P Project 1: Sorting Algorithm Analysis

View the notebook here: https://connormcmanigal.github.io/sorting-algorithm-analysis/final_report.pdf

Connor McManigal and Peyton Politewicz

  • Implemented MergeSort, QuickSort, InsertionSort, ShellSort, BucketSort, and RadixSort
  • Created BinaryInsertionSort in an effort to improve InsertionSort runtimes and Simple Tim Sort to improve MergeSort runtimes
  • Compared time complexity of each on truly random generated arrays and almost sorted generated arrays at sizes 1000, 2000, 4000, 8000, and 16000
  • Evaluated and compared empirical and theoretical big-O as datasets scaled in size
  • Diagnosed runtime ratios, plotted findings, and drew conclusions on our algorithmic performance

About

Implementation of MergeSort, QuickSort, InsertionSort, ShellSort, BucketSort, RadixSort, Binary Insertion Sort, and Tim Sort followed by time complexity analysis.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.2%
  • Python 0.8%