JavaScript Algorithms and Data Structures Masterclass
- Offered byUDEMY
JavaScript Algorithms and Data Structures Masterclass at UDEMY Overview
Duration | 22 hours |
Total fee | ₹3,499 |
Mode of learning | Online |
Credential | Certificate |
JavaScript Algorithms and Data Structures Masterclass at UDEMY Highlights
- Earn a certificate of completion from Udemy
- Learn from 80 downloadable resources & 32 articles
- Get full lifetime access of the course material
- Comes with 30 days money back guarantee
JavaScript Algorithms and Data Structures Masterclass at UDEMY Course details
- For Anyone preparing for programming interviews
- For Anyone interested in improving their problem solving skills
- For Anyone looking to become a better developer!
- Learn everything you need to ace difficult coding interviews
- Master dozens of popular algorithms, including 6 sorting algorithms!
- Implement 10+ data structures from scratch
- Improve your problem solving skills and become a stronger developer
- This course crams months of computer science and interview prep material into 20 hours of video
- We cover the ins and outs of Recursion
- We learn a 5-step approach to solving any difficult coding problem
- We cover common programming patterns
- We write 6 different sorting algorithms: Bubble, Selection, Insertion, Quick, Merge, and Radix Sort
JavaScript Algorithms and Data Structures Masterclass at UDEMY Curriculum
Introduction
Curriculum Walkthrough
What Order Should You Watch In?
How I'm Running My Code
Big O Notation
Intro to Big O
Timing Our Code
Counting Operations
Visualizing Time Complexities
Official Intro to Big O
Simplifying Big O Expressions
Space Complexity
Logs and Section Recap
Analyzing Performance of Arrays and Objects
PREREQUISITES
Section Introduction
The BIG O of Objects
When are Arrays Slow?
Big O of Array Methods
Problem Solving Approach
PREREQUISITES
Introduction to Problem Solving
Step 1: Understand The Problem
Step 2: Concrete Examples
Step 3: Break It Down
Step 4: Solve Or Simplify
Step 5: Look Back and Refactor
Recap and Interview Strategies
Problem Solving Patterns
PREREQUISITES
Intro to Problem Solving Patterns
Frequency Counter Pattern
Frequency Counter: Anagram Challenge
Anagram Challenge Solution
Multiple Pointers Pattern
Multiple Pointers: Count Unique Values Challenge
Count Unique Values Solution
Sliding Window Pattern
Divide And Conquer Pattern
100% OPTIONAL Challenges
IMPORTANT NOTE!
SOLUTIONS PART 1
SOLUTIONS PART 2
SOLUTIONS PART 3
Recursion
PREREQUISITES
Story Time: Martin & The Dragon
Why Use Recursion?
The Call Stack
Our First Recursive Function
Our Second Recursive Function
Writing Factorial Iteratively
Writing Factorial Recursively
Common Recursion Pitfalls
Helper Method Recursion
Pure Recursion
Recursion Problem Set
START HERE!
SOLUTIONS FOR THIS SECTION
Bonus CHALLENGING Recursion Problems
NOTE ON THIS SECTION
SOLUTIONS PART 1
SOLUTIONS PART 2
Searching Algorithms
PREREQUISITES
Intro to Searching
Intro to Linear Search
Linear Search Solution
Linear Search BIG O
Intro to Binary Search
Binary Search PseudoCode
Binary Search Solution
Binary Search BIG O
Naive String Search
Naive String Search Implementation
KNP COMING SOON
Bubble Sort
PREREQUISITES
Introduction to Sorting Algorithms
Built-In JavaScript Sorting
Bubble Sort: Overview
Bubble Sort: Implementation
Bubble Sort: Optimization
Bubble Sort: BIG O Complexity
Selection Sort
PREREQUISITES
Selection Sort: Introduction
Selection Sort: Implementation
Selection Sort: Big O Complexity
Insertion Sort
PREREQUISITES
Insertion Sort: Introduction
Insertion Sort: Implementation
Insertion Sort: BIG O Complexity
Comparing Bubble, Selection, and Insertion Sort
Comparing Bubble, Selection, and Insertion Sort
Merge Sort
PREREQUISITES
Intro to the "Crazier" Sorts
Merge Sort: Introduction
Merging Arrays Intro
Merging Arrays: Implementation
Writing Merge Sort Part 1
Writing Merge Sort Part 2
Merge Sort BIG O Complexity
Quick Sort
PREREQUISITES
Introduction to Quick Sort
Pivot Helper Introduction
Pivot Helper Implementation
Quick Sort Implementation
Quick Sort Call Stack Walkthrough
Quick Sort Big O Complexity
Radix Sort
PREREQUISITES
Radix Sort: Introduction
Radix Sort: Helper Methods
Radix Sort: Pseudocode
Radix Sort: Implementation
Radix Sort: BIG O Complexity
Data Structures Introduction
Which Data Structure Is The Best?
ES2015 Class Syntax Overview
Data Structures: The Class Keyword
Data Structures: Adding Instance Methods
Data Structures: Adding Class Methods
Singly Linked Lists
PREREQUISITES
Intro to Singly Linked Lists
Starter Code and Push Intro
Singly Linked List: Push Solution
Singly Linked List: Pop Intro
Singly Linked List: Pop Solution
Singly Linked List: Shift Intro
Singly Linked List: Shift Solution
Singly Linked List: Unshift Intro
Singly Linked List: Unshift Solution
Singly Linked List: Get Intro
Singly Linked List: Get Solution
Singly Linked List: Set Intro
Singly Linked List: Set Solution
Singly Linked List: Insert Intro
Singly Linked List: Insert Solution
Singly Linked List: Remove Intro
Singly Linked List: Remove Solution
Singly Linked List: Reverse Intro
Singly Linked List: Reverse Solution
Singly Linked List: BIG O Complexity
Doubly Linked Lists
PREREQUISITES
Doubly Linked Lists Introduction
Setting Up Our Node Class
Push
Push Solution
Pop
Pop Solution
Shift
Shift Solution
Unshift
Unshift Solution
Get
Get Solution
Set
Set Solution
Insert
Insert Solution
Remove
Remove Solution
Comparing Singly and Doubly Linked Lists
Stacks + Queues
PREREQUISITES
Intro to Stacks
Creating a Stack with an Array
Writing Our Own Stack From Scratch
BIG O of Stacks
Intro to Queues
Creating Queues Using Arrays
Writing Our Own Queue From Scratch
BIG O of Queues
Binary Search Trees
PREREQUISITES
Introduction to Trees
Uses For Trees
Intro to Binary Trees
POP QUIZ!
Searching A Binary Search Tree
Our Tree Classes
BST: Insert
BST: Insert Solution
BST: Find
BST: Find Solution
Big O of Binary Search Trees
Tree Traversal
PREREQUISITES
Intro To Tree Traversal
Breadth First Search Intro
Breadth First Search Solution
Depth First PreOrder Intro
Depth First PreOrder Solution
Depth First PostOrder Intro
Depth First PostOrder Solution
Depth First InOrder Intro
Depth First InOrder Solution
When to Use BFS and DFS
Binary Heaps
PREREQUISITES
Intro to Heaps
Storing Heaps
Heap: Insert Intro
Heap: Insert Solution
Heap: ExtractMax Intro
Heap: ExtractMax Solution
Priority Queue Intro
Priority Queue Pseudocode
Priority Queue Solution
BIG O of Binary Heaps
Hash Tables
PREREQUISITES
Intro to Hash Tables
More About Hash Tables
Intro to Hash Functions
Writing Our First Hash Function
Improving Our Hash Function
Handling Collisions
Hash Table Set and Get
Hash Table Set Solution
Hash Table Get Solution
Hash Table Keys and Values
Hash Table Keys and Values Solution
Hash Table Big O Complexity
Graphs
PREREQUISITES
Intro to Graphs
Uses for Graphs
Types of Graphs
Storing Graphs: Adjacency Matrix
Storing Graphs: Adjacency List
Adjacency Matrix Vs. List BIG O
Add Vertex Intro
Add Vertex Solution
Add Edge Intro
Add Edge Solution
Remove Edge Intro
Remove Edge Solution
Remove Vertex Intro
Remove Vertex Solution
Graph Traversal
PREREQUISITES
Intro to Graph Traversal
Depth First Graph Traversal
DFS Recursive Intro
DFS Recursive Solution
DFS Iterative Intro
DFS Iterative Solution
Breadth First Graph Traversal
BFS Intro
BFS Solution
Dijkstra's Algorithm!
PREREQUISITES
Intro to Dijkstra's and Prerequisites
Who was Dijkstra and what is his Algorithm?
Writing a Weighted Graph
Walking through the Algorithm
Introducing Our Simple Priority Queue
Dijkstra's Pseudo-Code
Implementing Dijkstra's Algorithm
Upgrading the Priority Queue
Dynamic Programming
Intro to Dynamic Programming
Overlapping Subproblems
Optimal Substructure
Writing A Recursive Solution
Time Complexity of Our Solution
The Problem With Our Solution
Enter Memoization!
Time Complexity of Memoized Solution
Tabulation: A Bottom Up Approach
THE END!
The Wild West
VERY IMPORTANT NOTE! PLEASE READ!