~/overview/introduction

At the foundation of programming: sorting things out.

Sorting turns jumbled data into organised information that is easy to find, examine and make the most of. For a programmer, knowing the different ways to sort isn’t abstract. It’s practical.

Why sorting mattersThe central questionFour algorithmsTimed and compared
01 · Why sorting matters

The right technique makes the difference.

One of a programmer’s most useful tools

Sorting takes jumbled data and turns it into organised information that is easy to locate, examine and make the most of.

Speed depends on the choice

Knowing which technique to use can be the difference between a fast application and a slow one, especially as the volume of data grows.

02 · The central question

In practice, how do different sorting algorithms perform?

The project bridges theory and practice by comparing how long each algorithm takes to run.

The goal is to show that an algorithm’s inherent complexity directly affects real-world speed, and that our choices as programmers shape how a program behaves.
03 · Our approach

One custom list, four sorts, every one timed.

01

A custom list

We designed our own linked list to manage students’ course enrollments.

02

Four sorts

The data was sorted four times: with the simple but inefficient Selection and Insertion Sorts, and with the more sophisticated divide-and-conquer Merge Sort and Quick Sort.

Selection · O(n²) Insertion · O(n²) Merge · O(n log n) Quick · O(n log n)
03

Theory vs. clock

Each sort was timed to see how its theoretical performance compared with its actual speed. The project serves as a practical example.