70+ JavaScript Challenges: Data Structures & Algorithms
- Description
- Curriculum
- FAQ
- Reviews
JavaScript Challenges: Data Structures & Algorithms
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.
-
56Hash Table Intro
-
57Maps
-
58Word Frequency Counter
-
59Phone Number Directory
-
60Anagram Grouping
-
61Sets
-
62Symmetric Difference
-
63Two Sum
-
64Longest Consecutive
-
65Custom Hash Table - Part 1
-
66Custom Hash Table - Part 2
-
67Word Instance Counter Using Custom Hash Table
-
68Add getValues Method
-
69Anagram Grouping With Custom Hash Table
-
70What Is A Stack?
-
71Stack Implementation
-
72Reverse String Using A Stack
-
73Balanced Parenthesis
-
74What Is A Queue?
-
75Queue Implementation
-
76Reverse String With A Queue
-
77Palindrome With A Queue & Stack
-
78What Is A LInked LIst?
-
79Linked List Implementation
-
80Reverse String With A Linked List
-
81Fast & Slow Pointers
-
82Find Middle
-
83What Is A Doubly Linked List?
-
84Doubly Linked List Implementation - Part 1
-
85Doubly Linked List Implementation - Part 2
-
86Find Pair Sum