Articles
Sorting Algorithms
Binary search was efficient when given a pre-sorted data set, but what are the most efficient ways to actually sort data sets? There are many different sorting algorithms, but you are going to focus on three of the most common: bubble sort, merge sort, and quicksort. Each has pros and cons when it comes to their efficiency, as you can see in the table below:
Best Case | Worst Case | Average Case | Space Complexity | |
---|---|---|---|---|
Bubble Sort | O(n) | O(n^2) | O(n^2) | O(1) |
Merge Sort | O(n log n) | O(n log n) | O(n log n) | O(n) |
Quicksort | O(n log n) | O(n log n) | O(n^2) | O(log n) |
- Learn about the usefulness and efficiency of computational sorting by implementing different sorting algorithms yourself.
- With Certificate
- Intermediate.3 hours
- Learn the basics of recursion and how to implement and analyze important algorithms in Java.
- Beginner Friendly.3 hours
Codecademy Team
'The Codecademy Team, composed of experienced educators and tech experts, is dedicated to making tech skills accessible to all. We empower learners worldwide with expert-reviewed content that develops and enhances the technical skills needed to advance and succeed in their careers.'
Meet the full teamRelated articles
- Article
Time Complexity of Merge Sort: A Detailed Analysis
Explore the time complexity of Merge Sort in-depth, including best, average, and worst-case analysis, and comparison with other sorting algorithms. - Article
Time Complexity of Bubble Sort Explained with Examples
Learn the time complexity of Bubble Sort in this definitive guide, covering definition, working, implementation, and comparisons to other sorting algorithms. - Article
Implementing the Merge Sort Algorithm in Python
Learn how to implement Merge Sort in Python - an algorithm with clear examples, step-by-step code, and practical applications.
Learn more on Codecademy
- Learn about the usefulness and efficiency of computational sorting by implementing different sorting algorithms yourself.
- With Certificate
- Intermediate.3 hours
- Learn the basics of recursion and how to implement and analyze important algorithms in Java.
- Beginner Friendly.3 hours
- Learn about the computer science concepts of data structures and algorithms and build implementations of each from scratch in modern Python.
- Includes 8 Courses
- With Certificate
- Intermediate.25 hours