30% OFF - Use code HANDSON30 for 30% off any course or Dometrain Pro! Browse courses →
  • Courses
  • Learning Paths
  • Blogs
  • Authors
  • Leaderboard
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • 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

    Getting Started: Model Context Protocol (MCP)
    course

    Getting Started: Model Context Protocol (MCP)

    Learn how to get started with the Model Context Protocol (MCP) and integrate it into your applications.

    Learn more about Getting Started: Model Context Protocol (MCP)
    Hands-On: Learn TypeScript
    course

    Hands-On: Learn TypeScript

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

    Learn more about Hands-On: Learn TypeScript
    Hands-On: Learn JavaScript
    course

    Hands-On: Learn JavaScript

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

    Learn more about Hands-On: Learn JavaScript
    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#