Skip to Content
Head First Algorithms and Data Structures
book

Head First Algorithms and Data Structures

by Eric Freeman, Elisabeth Robson
September 2026
Beginner to intermediate
518 pages
13h 53m
English
O'Reilly Media, Inc.
Content preview from Head First Algorithms and Data Structures

Chapter 5. Sorting: Sorting Things Out

Image

If you have a sorted list, you have a data structure that makes lookups fast and lets binary search work in O(log n) time. That’s pretty powerful, but to use that power you need a sorted list. After all, we can’t always assume we have one. In this chapter you’ll learn how to bubble, merge, and pivot your way into some sorted data structures. We’ll also get acquainted with a new O(n log n) time complexity and a sorting speed limit. We’ll finish it all up with Timsort, an interesting hybrid sorting algorithm many languages use as their default sort algorithm. Let’s get sorting!

How to sort an array

Image

So far, when we used tricks like binary search, we’ve treated our arrays as already sorted. But arrays don’t sort themselves, so someone has to do the work of sorting. How do we do that?

We’ll begin with a simple sort: we’ll traverse the array left to right, always looking at two neighbors. If the two are in the wrong order (that is, they aren’t sorted), we swap them. Then we slide to the next two items and repeat. After one full pass, we’ll see the largest item has drifted to the far right. We do another pass and the next-largest drifts right. We keep going until a pass makes no swaps; that’s our “done” signal. Let’s walk through an example ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Data Structures and Algorithms: The Complete Masterclass

Data Structures and Algorithms: The Complete Masterclass

Shubham Sarda
Grokking Algorithms

Grokking Algorithms

Aditya Bhargava

Publisher Resources

ISBN: 9781098174071Errata Page