NEW - Hands-On: Data Structures & Algorithms in C# — Free to enroll for 7 days! Enroll now →

Hands-On: Data Structures & Algorithms in C#

Learn data structures and algorithms in C# with practical hands-on exercises

About This Course

High-level programming languages abstract many data structures and algorithms to the point where we take them for granted. To gain deep, true knowledge and understanding of the inner workings of the operations and data structures we use in C#, we need to learn how to build them ourselves. Such knowledge enables skill adaptation and the creation of custom solutions tailored to solve very specific, low-level problems. In this Hands-on, Data Structures and Algorithms in C# course, you will learn how to solve problems with intuitive solutions and gain a deep understanding of how the data structures that you use every day work. Not to mention that massive companies like Microsoft, Apple, Netflix, Amazon and more, still interview using these algorithms and data structures, so learning them can secure you a life-changing spot in one of these companies.

Course Curriculum

15h 38m 19 sections
Sum Array Elements
05:00
Has Duplicates - Nested Loops
05:00
Has Duplicates - HashSet
05:00
Classify Algorithm Complexity
05:00
Count Binary Search Steps
05:00
Compare Operation Counts
05:00
Complexity Tradeoff Analyzer
10:00
Reverse an Array
05:00
Find Duplicates
05:00
Move Zeroes to End
05:00
Second Largest Element
05:00
Two Sum
05:00
Rotate Array by K
05:00
Merge Two Sorted Arrays
05:00
Maximum Subarray Sum
05:00
Chapter Capstone - Array Toolkit
08:20
Create a Node Class
05:00
Build List from Array
05:00
Traverse to Array
05:00
Get Length
05:00
Search for Value
05:00
Insert at Position
05:00
Delete by Value
05:00
Reverse the List
05:00
Chapter Capstone - Linked List Editor
10:14
Create a DLL Node Class
05:00
Build DLL with AddLast
05:00
Traverse Both Directions
05:00
Delete a Node
05:00
Browser History
05:00
Chapter Capstone - Playlist Navigator
10:00
Implement Stack with Array
05:00
Push and Pop
05:00
Peek and IsEmpty
05:00
Balanced Parentheses
05:00
Reverse a String with Stack
05:00
Evaluate Postfix Expression
05:00
Min Stack
05:00
Chapter Capstone - Expression Engine
10:00
Implement Queue with Array
05:00
Enqueue and Dequeue
05:00
Circular Queue
05:00
Implement Queue with Two Stacks
05:00
Round-Robin Elimination
05:00
Implement a Deque
05:00
Chapter Capstone - Service Desk Simulator
10:00
Factorial
05:00
Fibonacci
05:00
Sum of Array
05:00
Power Function
05:00
Palindrome Check
05:00
Count Digits
05:00
Generate All Subsets
05:00
Recursive Binary Search
05:00
Chapter Capstone - Recursive Utilities
10:00
Linear Search
05:00
Binary Search - Iterative
05:00
Binary Search - Recursive
05:00
First and Last Occurrence
10:00
Search in Rotated Sorted Array
05:00
Integer Square Root
05:00
Chapter Capstone - Search Strategy Selector
10:00
Check if Array is Sorted
05:00
Bubble Sort
05:00
Optimized Bubble Sort
05:00
Selection Sort
05:00
Insertion Sort
05:00
Chapter Capstone - Basic Sort Benchmark
10:00
Merge Sort - Split Arrays
05:00
Merge Sort - Merge Two Sorted Halves
05:00
Merge Sort - Full Implementation
05:00
Quick Sort - Partition
05:00
Quick Sort - Full Implementation
05:00
Counting Sort
05:00
Chapter Capstone - Advanced Sort Selector
10:00
Create a TreeNode Class
05:00
Build Binary Tree from Array
10:00
In-Order Traversal
10:00
Pre-Order Traversal
10:00
Post-Order Traversal
10:00
Level-Order Traversal (BFS)
10:00
Calculate Tree Height
10:00
Count Nodes
10:00
Chapter Capstone - Tree Diagnostics
11:40
Understand the BST Property
05:00
BST Insert
05:00
BST Search
05:00
Find Min and Max
05:00
BST Delete - Leaf and Single Child
10:00
BST Delete - Two Children
10:00
Validate BST
05:00
BST to Sorted Array
05:00
Chapter Capstone - BST Lifecycle
12:00
Heap Property and Array Representation
05:00
Heap Insert (Bubble Up)
05:00
Extract Min (Bubble Down)
12:00
Build Heap (Heapify)
05:00
Implement a Priority Queue
05:00
Heap Sort
07:00
Kth Largest Element
09:59
Chapter Capstone - Task Scheduler
12:00
Implement a Hash Function
05:00
Handle Collisions with Chaining
05:00
Put and Get Operations
05:00
Delete Operation
11:40
Resize (Rehashing)
05:00
Frequency Counter
05:00
Group Anagrams
05:00
First Non-Repeating Character
05:00
Chapter Capstone - Log Analyzer
10:00
Build Adjacency List from Edge List
05:00
Build Adjacency Matrix from Edge List
05:00
Add and Remove Edges
10:00
Depth-First Search (DFS)
08:20
Breadth-First Search (BFS)
08:20
Has Path Between Nodes
05:00
Detect Cycle in Undirected Graph
05:00
Chapter Capstone - Graph Explorer
13:20
Shortest Path in Unweighted Graph
07:00
Count Connected Components
07:00
Topological Sort
07:00
Build Weighted Graph
07:00
Dijkstra's Algorithm - Shortest Distance
06:58
Dijkstra's with Path Reconstruction
05:00
Chapter Capstone - Route Planner
12:00
Pair Sum in Sorted Array
05:00
Remove Duplicates from Sorted Array
05:00
Three Sum
05:00
Valid Palindrome - Ignoring Non-Alphanumeric
05:00
Sort Colors (Dutch National Flag)
05:00
Container With Most Water
05:00
Chapter Capstone - Two-Pointer Challenge
12:00
Max Sum of Subarray of Size K
05:00
Average of Subarrays of Size K
05:00
Smallest Subarray With Sum >= Target
05:00
Longest Substring Without Repeating Characters
05:00
Longest Substring With At Most K Distinct Characters
07:00
Chapter Capstone - Sliding Window Analytics
10:00
Fibonacci with Memoization
05:00
Fibonacci with Tabulation
05:00
Climbing Stairs
05:00
Min Cost Climbing Stairs
05:00
Coin Change
05:00
Longest Common Subsequence
05:00
0/1 Knapsack
05:00
Longest Increasing Subsequence
05:00
Chapter Capstone - DP Decision Suite
12:00

Meet Your Instructor

Nick Chapsas

Nick Chapsas

Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.

He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.

Nick creates free content on YouTube and is the host of the Keep Coding Podcast.

View all courses by Nick Chapsas

What's New

Hands-On: Data Structures & Algorithms in C#
course

Hands-On: Data Structures & Algorithms in C#

Master data structures and algorithms through hands-on coding exercises in C#. Free to enroll for 7 days!

Learn more about Hands-On: Data Structures & Algorithms in C#
Blogsmith.ai
feature

Blogsmith.ai

Turn your videos into blogs and newsletters with AI. Check out our new product at blogsmith.ai.

Learn more about Blogsmith.ai
Leaderboard
feature

Leaderboard

See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

Learn more about Leaderboard
Hands-On: Learn PostgreSQL
course

Hands-On: Learn PostgreSQL

Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn PostgreSQL
Free Hands-On: C# for Beginners
course

Free Hands-On: C# for Beginners

Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

Learn more about Free Hands-On: C# for Beginners
Getting Started: AI for .NET Developers
course

Getting Started: AI for .NET Developers

Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

Learn more about Getting Started: AI for .NET Developers
Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn more about Getting Started: Building .NET Applications on AWS
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn more about What's new in C# 14
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn more about From Zero to Hero: SignalR in .NET
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn more about Deep Dive: Solution Architecture
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn more about Getting Started: Caching in .NET
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn more about From Zero to Hero: Testing with xUnit in C#
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn more about Create a ChatGPT Console AI Chatbot in C#