12
Sharon Chiang Graham Johnson Gabrielle Thivierge

Sorting Algorithms Presentation

Embed Size (px)

Citation preview

Sharon ChiangGraham Johnson

Gabrielle Thivierge

Sorting Algorithms

● What is a sorting algorithm?

● Why study them?

● What are the differences between algorithms?

Comparison SortsDetermine the order of elements by

comparing their values

QuicksortMerge SortHeapsort

Comb SortSelection Sort

Shell SortBubble Sort

Insertion Sort

Non-Comparison Sorts

Use operators other than comparisonsMay require special conditions

Counting SortRadix SortBucket Sort

Main Function Flow Chart

Algorithm Analysis

● Parameterized each algorithm based on:○ Swaps○ Comparisons○ Array elements accessed○ Peak memory usage

● Algorithms processed data vectors of size 10 elements up to 1 million elements

Conclusions

Merge sort● In general, comparison sorts are superior for

memory usage● Non-comparison sorts tend to access fewer array

elements, and are therefore generally faster● The merge sort performs well regarding both array

accesses/time and memory

And the winner is…

Improvements and Future directions

● Improvements○ More algorithms○ More trials

● Future directions○ Different data types○ Mathematical

investigation