Sorting is one of the most studied problems in computer science: given a collection of items and a rule for comparing them, rearrange the collection so the items appear in order. It sounds simple, but the way you do it determines how much time and memory your program consumes, and that difference becomes dramatic as data grows from dozens of elements to millions.
In this module you will implement several sorting algorithms, so this introductory topic gives you the vocabulary and measuring tools you need first. Key terms include comparison-based sorting, stability (whether equal elements keep their original relative order), in-place sorting (whether extra memory proportional to the input is required), and best, average, and worst cases. Time complexity and space complexity, expressed in Big O notation, are the two formal criteria we use to compare algorithms, while practical performance characteristics explain why an O(n^2) algorithm can still beat an O(n log n) one on small or nearly sorted inputs.
As you watch the videos below, focus on the criteria rather than memorizing any single algorithm. Ask yourself: what is being counted (comparisons, swaps, extra arrays)? How does the cost change when the input is already sorted, reverse sorted, or random? Keep a running glossary of the terms you hear so that when we start coding bubble, insertion, merge, and quicksort in JavaScript, the analysis language is already familiar.
A beginner-oriented opening lecture on sorting within a data structures series. Based on its title and description, it explains what sorting means, why sorting algorithms are needed, and where sorting shows up in everyday programming tasks before any specific algorithm is coded.
It maps directly onto the first two subtopics, What Is a Sorting Algorithm and Why Sorting Algorithms Matter, and CodeWithHarry is a widely followed instructional channel whose data structures series is paced for students meeting the material for the first time.
This video focuses on comparing sorting algorithms by their time and space complexity using Big-O notation. Geekific frames it as a wrap-up of a multi-week sorting series, so it is likely to summarize best, average, and worst cases alongside memory usage across the common algorithms.
It gives concentrated coverage of the two evaluation criteria at the heart of this topic, time complexity and space complexity, and the side-by-side comparison format models exactly the kind of reasoning you will do in later assignments.
A fast, visual tour of ten different sorting algorithms, explaining the basic idea behind each one. Expect short conceptual explanations and animations rather than deep derivations, giving you a mental map of the sorting landscape and how approaches differ from one another.
It is a useful breadth video for the Practical Performance Characteristics subtopic, showing that there are many strategies with different trade-offs and helping you place bubble, insertion, merge, and quicksort in a wider context.
Together these videos build the conceptual foundation the module outcomes depend on. The CodeWithHarry introduction and the Coding with Lewis overview establish what sorting algorithms do and how they differ, preparing you to implement and later differentiate among them (MO1, MO3). The Geekific comparison video supplies the Big O vocabulary and the time and space complexity framework you will apply when analyzing best, average, and worst cases (MO2). Taken as a set, they also give you the criteria, data size, input order, memory use, and stability, that you will weigh when choosing an algorithm for a specific scenario (MO4).
These videos were chosen from YouTube on October 2, 2026. Each has captions; the player turns them on. Videos on YouTube can be changed or removed — if one no longer plays, tell your instructor. If a player does not appear, use its Watch on YouTube link.