Data Structures & Algorithms for Beginners - 4

Sorting Algorithms

 


A. Bubble Sorting

bubble-sort

1. Time

 BestWorst
PassesO(1)O(n)
ComparisionsO(n)O(n)
TotalO(n)O(n ^ 2)
 LinearQuadratic

 

2. Code

 

 

B. Selection Sorting

selection-sort

1. Time

 BestWorst
PassesO(n)O(n)
ComparisionsO(n)O(n)
TotalO(n ^ 2)O(n ^ 2)
 QuadraticQuadratic

 

2. Code

 

 

C. Insertion Sorting

insertion-sort

1. Time

 BestWorst
PassesO(n)O(n)
ComparisionsO(1)O(n)
TotalO(n)O(n ^ 2)
 LinearQuadratic

 

2. Code

 

D. Merge Sorting

merge-sort

1. Time

 BestWorst
DividingO(log n)O(log n)
MergingO(n)O(n)
TotalO(n log n)O(n log n)
SpaceO(n)O(n)

 

2. Code

 

 

E. Quick Sorting

quick-sort

1. Time

 BestWorst
PartitioningO(n)O(n)
# of timesO(log n)O(n)
TotalO(n log n)O(n ^ 2)
SpaceO(log n)O(n)

 

2. Code

 

F. Counting Sorting

counting-sort

1. Time

Space: O(k)

Time: 
Populate CountsO(n)
Iterate CountsO(k)
TotalO(n + k)
 Linear

 

2. Code

 

G. Bucket Sorting

bucket-sort

1. Time

Space: O(n + k)

 BestWorst
DistributionO(n)O(n)
Iterating BucketsO(k)O(k)
SortingO(1)O(n ^ 2)
TotalO(n + k)O(n ^ 2 + k)

image-20220621160944462

 

2. Code