4.75 out of 5
4.75
278 reviews on Udemy

70+ JavaScript Challenges: Data Structures & Algorithms

Build better foundational skills as a developer by doing challenges and learning about data structures and algorithms
Instructor:
Brad Traversy
2,976 students enrolled
English [Auto]
Explore 70+ coding challenges from beginner, intermediate and advanced levels
Ace coding interviews by learning how to solve problems with iteration, recursion, array methods & more
Master data structures like stacks, queues, linked lists, trees, maps and hash maps
Learn about sorting algorithms like bubble sort, insertion, merge and quick sort
Full sandbox with explanations and Jest tests for every challenge
You do NOT have to take on the challenges alone. Follow along and learn from the explanations

Most of my students know me for my practical, project-based courses and tutorials. I wanted to create something to give you more fundamental skills for problem solving. That’s where the idea for this challenges course came from. I want to take my down-to-earth explanations to help you get a better understanding of the code that you write and help you write more efficient code.

This course is for all levels as long as you have a basic understanding of things like loops, functions, arrays, etc. We are writing JavaScript in this course, but about 95% of it can translate to any other language. So even if you are a Python, PHP or C# developer, you can still follow along.

Basic Challenges:

We start with a bunch of basic challenges that have to do with iteration and loops. Things like FizzBuzz and string reversals. These are very popular questions for entry-level interviews. We also move on to solving problems with high order array methods like filter and map.

Recursion:

Recursion is one of the toughest things to learn in programming. We have an entire section dedicated to it with challenges that we solve using recursion.

Time & Space Complexity:

We talk about how to measure an algorithm or function’s efficiency by using time and space complexity to see how the runtime and memory scale when inscreasing the input.

Data Structures: Stacks, Queues, Trees, Linked Lists, Graphs, HashMaps

We go over all of the common data structures and create our own implementation of them using JavaScript classes, but like I said, you could use any language. We also learn how to traverse them and complete challenges using them.

Sorting Algorithms:

We get into different sorting algorithms like bubble sort, insertion, selection, merge and quick sort. These are popular topics for interviews.

Introduction

1
Welcome To The Course
2
Course Structure
3
DSA - The What & Why
4
Tools & Basic Setup
5
Sandbox Environment Setup

Basic Challenges - Part 1

1
Hello World (Starter Challenge)
2
Get Sum (Starter Challenege)
3
Calculator
4
Count Occurences
5
Find Max Number
6
Title Case
7
Reverse String
8
Palindrome
9
Count Vowels
10
Remove Duplicates

Basic Challenges - Part 2

1
FizzBuzz Array
2
Array Intersection
3
Display Likes
4
Find Missing Number
5
Find Missing Letter
6
Are All Chars Unique?
7
First Non-Repeating Character
8
Dice Game Simulation
9
Format Phone Number
10
Validate Email

High Order Array Methods

1
Simple Examples
2
Sum Of Even Squares
3
Calculate Total Sales
4
Highest Scoring Word
5
Valid Anagrams
6
Hashtag Generator
7
Valid IPv4
8
Analyze Car Mileage
9
Password Validator
10
Find Missing Letter Refactor

Recursion

1
Recursion Intro (Countdown)
2
Recursive Unwinding
3
Reverse String Using Recursion
4
Fibonacci Sequence
5
Factorial
6
Power
7
Array Sum
8
Number Range
9
Flatten Array
10
Permutations

Time & Space Complexity

1
What Is Time Complexity?
2
Big O Notation
3
Constant Time Complexity - O(1)
4
Linear Time Complexity - O(n)
5
Quadratic Time Complexity - O(n^2)
6
Logarithmic Time Complexity - O(log n)
7
Space Complexity
8
Max Subarray - Quadratic
9
Sliding Window Technique
10
Max Subarray - Linear

Hash Tables, Maps & Sets

1
Hash Table Intro
2
Maps
3
Word Frequency Counter
4
Phone Number Directory
5
Anagram Grouping
6
Sets
7
Symmetric Difference
8
Two Sum
9
Longest Consecutive
10
Custom Hash Table - Part 1
11
Custom Hash Table - Part 2
12
Word Instance Counter Using Custom Hash Table
13
Add getValues Method
14
Anagram Grouping With Custom Hash Table

Stacks, Queues & Linked Lists

1
What Is A Stack?
2
Stack Implementation
3
Reverse String Using A Stack
4
Balanced Parenthesis
5
What Is A Queue?
6
Queue Implementation
7
Reverse String With A Queue
8
Palindrome With A Queue & Stack
9
What Is A LInked LIst?
10
Linked List Implementation
11
Reverse String With A Linked List
12
Fast & Slow Pointers
13
Find Middle
14
What Is A Doubly Linked List?
15
Doubly Linked List Implementation - Part 1
16
Doubly Linked List Implementation - Part 2
17
Find Pair Sum

Binary Trees, BST & Graphs

1
What Is a Tree / Binary Tree?
2
Tree Node Class
3
Depth-First Traversal
4
Depth-First Traversal Using Recursion
5
Breadth-First Traversal
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.8
4.8 out of 5
278 Ratings

Detailed Rating

Stars 5
214
Stars 4
55
Stars 3
7
Stars 2
0
Stars 1
2