Introduction to Lists and Arrays

Introduction

Data structures are the organized ways we store data in memory so that a program can find it, change it, and reuse it efficiently. Arrays and lists are the two starting points for almost every other structure you will meet in this course: an array is a fixed-size block of contiguous memory whose elements are reached by index, while a linked list is a chain of nodes where each node holds a value and a reference to the next node. Both are ordered collections, but they organize memory in very different ways, and that difference drives everything else.

This topic matters because the rest of COP3530 builds on it. Stacks, queues, hash tables, trees, and graphs are all implemented on top of array-like or node-based storage, and the trade-offs you learn here — fast indexed access versus cheap insertion and deletion — reappear constantly. Getting comfortable now with how memory is laid out, what indexing really means, and when resizing is required will make the Big O analysis later in the module feel like a natural next step rather than a separate subject.

As you watch, keep a short comparison table going. For each structure, note: how elements are located (by index or by following links), whether the size is fixed or grows, what happens when you insert or delete at the front, middle, or end, and what extra memory the structure costs. Try to express each answer in plain words first; attaching Big O labels comes later in the module.

Video 1: Lec-17: Arrays vs Linked Lists | Data Structures

Gate Smashers · 8:41 · 244,396 views · 5y ago · captions — Watch on YouTube

About this video

A lecture-style comparison of arrays and linked lists, contrasting contiguous versus linked memory allocation, static versus dynamic sizing, and the cost of accessing, inserting, and deleting elements. It is framed for exam and interview preparation, so it emphasizes the points that are most often tested.

Why this video

This is the most direct match for the "Arrays vs. Lists: Key Differences" subtopic and pulls the module's comparison together in one place. The Gate Smashers channel is widely used by computer science students and works through the trade-offs step by step on the board.

Video 2: 10 Key Data Structures We Use Every Day

ByteByteGo · 8:43 · 451,698 views · 3y ago · captions — Watch on YouTube

About this video

A fast, animated tour of ten data structures that appear in everyday software, almost certainly including arrays and linked lists along with stacks, queues, hash tables, trees, and graphs. Based on the title and channel, it focuses on what each structure looks like and where it is actually used in real systems rather than on code details.

Why this video

It gives you the big-picture answer to "what are data structures?" and shows where arrays and lists sit among the others, which is a useful frame before you study either one closely. ByteByteGo is a well-known systems-oriented channel whose clear animations suit an introductory overview.

Video 3: Linked lists in 4 minutes

Michael Sambol · 4:22 · 217,408 views · 4y ago · captions — Watch on YouTube

About this video

A concise four-minute explanation of linked lists from Michael Sambol, with accompanying Python code linked in the description. Expect a walkthrough of nodes and references, how the list is traversed from the head, and the basic insertion and deletion operations.

Why this video

It defines lists precisely and visually, covering the node-and-pointer structure that distinguishes them from arrays. Sambol's short, textbook-aligned videos are a reliable, no-filler complement to your reading on the "Defining Lists" subtopic.

How These Videos Support the Learning Outcomes

Together these videos move from the general to the specific. The ByteByteGo overview establishes what data structures are and why we choose among them, the Sambol video defines the linked list and its node-based organization, and the Gate Smashers lecture sets arrays and lists side by side on memory layout, sizing, and operation cost — directly supporting MO1 and MO2. The access, search, insertion, and deletion behaviors demonstrated here are the raw material you will label with O(1), O(n), and O(n squared) in the Big O portion of the module (MO3), and the trade-off reasoning modeled in the comparison video previews the kind of justification MO4 asks you to produce when selecting a structure for a given use case.

About These Videos

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.