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.
What You'll Learn
Course Curriculum
15h 38m19 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
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.