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:
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:
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.
Introduction Dijkstra’s Algorithm finds the shortest path from a source vertex to all other vertices in a weighted graph …
Introduction A Trie (pronounced “try”) is a tree-like data structure used to store and search strings efficiently. Each …
Introduction Selection Sort works by repeatedly finding the minimum element from the unsorted portion and placing it at …
Introduction Linear Search is the simplest searching algorithm — it checks every element in a collection one by one …
Introduction Insertion Sort builds a sorted array one element at a time by picking each element and inserting it into …
Introduction Bubble Sort is the simplest sorting algorithm. It repeatedly steps through the array, compares adjacent …
Introduction Before you can run BFS, DFS, or any other graph algorithm, you need to decide how to store the graph in …
Introduction Merge Sort is a divide-and-conquer sorting algorithm that splits an array in half, recursively sorts each …
Introduction Quick Sort is a divide-and-conquer sorting algorithm that works by picking a “pivot” element and …
Introduction Dynamic Programming (DP) is an optimization technique that solves complex problems by breaking them into …
Introduction Recursion is a programming technique where a function calls itself to solve a problem by breaking it down …
Introduction Depth-First Search (DFS) is a fundamental graph traversal algorithm that explores as far as possible along …
Introduction Breadth-First Search (BFS) is a fundamental graph traversal algorithm that explores vertices level by …
Introduction A graph is a non-linear data structure consisting of vertices (nodes) connected by edges. Unlike trees, …
Introduction A heap is a specialized tree-based data structure that satisfies the heap property: in a max-heap, parent …
Introduction A Binary Search Tree (BST) is a specialized binary tree with an important ordering property: for every …
Introduction A binary tree is a hierarchical data structure where each node has at most two children, referred to as the …
Introduction A circular queue (also called a ring buffer) is a linear data structure that uses a fixed-size array in a …
Introduction A deque (pronounced “deck”) is short for “double-ended queue”—a linear data structure that allows insertion …
Introduction A queue is a linear data structure that follows the First-In-First-Out (FIFO) principle. Think of it like a …
Introduction A stack is a linear data structure that follows the Last-In-First-Out (LIFO) principle. Think of it like a …
Introduction Hash tables (also called hash maps or dictionaries) are one of the most important data structures you will …
Introduction A linked list is a linear data structure made of nodes where each node stores a value and a reference (a …
Introduction Binary search is a classic algorithm used to quickly find the position of a target value within a sorted …
Introduction In the realm of computer science and software engineering, the performance of an algorithm plays a pivotal …
Introduction Arrays are data structures that contain a list of sequenced data. They are often organized close together …