Data Structures

Master fundamental data structures and algorithms. From arrays and linked lists to trees and graphs.

Data Structures are containers for values or data organized in a specific way to perform specific operation(s) efficiently. Common data structures include arrays, linked lists, stacks, queues, and trees. Data structures can be used as building blocks for solving data-related problems. You likely use various data structures in your day-to-day life, even if you don’t realize it. Here are a few examples in which you may see real-world examples of data structures outside of software:

  • Library Bookshelves: Libraries are organized using a data structure similar to an array or list, where books are stored in a specific order, often based on genres, authors, or the Dewey Decimal System.
  • Supermarket Aisles: Supermarkets use data structures like queues (for checkout lines) and arrays (for organizing products on shelves) to optimize customer flow.
  • Phone Directories: Phonebooks are organized using data structures like dictionaries or hash tables to allow for quick lookups of names and corresponding phone numbers.
  • Mail Sorting: Post offices use data structures such as priority queues to sort and distribute mail efficiently, ensuring timely delivery.

Algorithms are step-by-step instructions for solving specific problems. They manipulate data stored in data structures. Common algorithms are designed to sort data or search for data within a data structure, but algorithms may also be written to solve more specific problems. Similarly, you likely use some common algorithms in your daily life. Here’s a few real-world examples:

  • Shopping List: Grocery lists are often sorted by aisle to optimize a shopping trip to allow you to gather similar items around the same time.

Data Structures & Algorithms is a common topic in software engineering careers because of its aide in solving real-world problems through software. Because of this, it is a common topic in software engineering courses and often asked as part of the interview process for software development jobs. The following tutorials will guide you through real examples of data structures and algorithms that you may find in the real-world.

Recursion

Introduction Recursion is a programming technique where a function calls itself to solve a problem by breaking it down …

November 19, 2025
#recursion #recursive-functions
Depth-First Search (DFS)

Introduction Depth-First Search (DFS) is a fundamental graph traversal algorithm that explores as far as possible along …

November 19, 2025
#DFS #depth-first-search
Breadth-First Search (BFS)

Introduction Breadth-First Search (BFS) is a fundamental graph traversal algorithm that explores vertices level by …

November 19, 2025
#BFS #breadth-first-search
Graphs - Introduction

Introduction A graph is a non-linear data structure consisting of vertices (nodes) connected by edges. Unlike trees, …

November 19, 2025
#graph #data-structures
Heaps and Priority Queues

Introduction A heap is a specialized tree-based data structure that satisfies the heap property: in a max-heap, parent …

November 19, 2025
#heap #priority-queue
Binary Search Trees (BST)

Introduction A Binary Search Tree (BST) is a specialized binary tree with an important ordering property: for every …

November 19, 2025
#binary-search-tree #BST
Binary Trees

Introduction A binary tree is a hierarchical data structure where each node has at most two children, referred to as the …

November 19, 2025
#binary-tree #tree
Circular Queues

Introduction A circular queue (also called a ring buffer) is a linear data structure that uses a fixed-size array in a …

November 19, 2025
#circular-queue #ring-buffer
Deques (Double-Ended Queues)

Introduction A deque (pronounced “deck”) is short for “double-ended queue”—a linear data structure that allows insertion …

November 19, 2025
#deque #double-ended-queue
Queues

Introduction A queue is a linear data structure that follows the First-In-First-Out (FIFO) principle. Think of it like a …

November 19, 2025
#queue #data-structures
Stacks

Introduction A stack is a linear data structure that follows the Last-In-First-Out (LIFO) principle. Think of it like a …

November 19, 2025
#stack #data-structures
Hash Tables

Introduction Hash tables (also called hash maps or dictionaries) are one of the most important data structures you will …

November 18, 2025
#hash-tables #maps
Linked Lists

Introduction A linked list is a linear data structure made of nodes where each node stores a value and a reference (a …

November 18, 2025
#linked-list #data-structures
Binary Search

Introduction Binary search is a classic algorithm used to quickly find the position of a target value within a sorted …

November 18, 2025
#binary-search #searching
Big-O Notation

Introduction In the realm of computer science and software engineering, the performance of an algorithm plays a pivotal …

September 14, 2023
#big-o #interviewing
Arrays

Introduction Arrays are data structures that contain a list of sequenced data. They are often organized close together …

September 11, 2023
#arrays