70+ JavaScript Challenges - Data Structures and Algorithms

Video description

This course seamlessly interweaves foundational knowledge with hands-on coding challenges to ensure a thorough grasp of the subject. Start with an introduction to DSA's significance, and then immerse yourself in hands-on exercises like "Hello World" to ease into the coding mindset. Delve deeper as you explore arrays, manipulating strings, solving common challenges. Further on, refine your coding finesse as you navigate through hash tables, maps, and sets, crafting elegant solutions to intricate problems like anagram grouping.

But this course doesn't stop at surface-level coding practices. Dive into the depths of intricate data structures like stacks, queues, and linked lists. Experience the beauty of tree structures, binary search trees, and graphs, understanding their traversal and practical applications. Writing code is just half the battle. Understanding the efficiency and optimization of your code is paramount. Grasp the concepts of time and space complexity, and familiarize yourself with iconic sorting algorithms, from bubble sort to quick sort.

By the end of this course, you will have journeyed from the basic constructs of data structures to the intricate maze of algorithms, all the while understanding their real-world applicability and performance nuances.

What You Will Learn

  • Grasp the intricacies of fundamental data structures
  • Master key algorithms, ranging from basic challenges to intricate sorting methods
  • Optimize code by understanding the nuances of time and space complexity
  • Tackle real-world coding challenges with hands-on problem-solving techniques
  • Implement and traverse stacks, queues, and binary search trees effectively
  • Visualize graph traversals and apply depth-first and breadth-first techniques

Audience

Knowing JavaScript & programming fundamentals is essential before you take up this course. This course is ideal for developers that want to build better foundational problem-solving skills and pass job interviews.

About The Author

Brad Traversy: Brad Traversy has been programming for around 12 years and teaching for almost 5 years. He is the owner of Traversy Media, which is a successful web development YouTube channel and specializes in everything from HTML5 to front-end frameworks such as Angular as well as server-side technologies such as Node.js, PHP, and Python. Brad has mastered explaining overly complex topics in a simple manner that is understandable. Invest in your knowledge by watching Brad’s courses.

Table of contents

  1. Chapter 1 : Introduction
    1. Welcome to the Course
    2. Course Structure
    3. DSA - The What Why
    4. Tools Basic Setup
    5. Sandbox Environment Setup
  2. Chapter 2 : Basic Challenges Part 1
    1. Hello World (Starter Challenge)
    2. Get Sum (Starter Challenge)
    3. Calculator
    4. Count Occurrences
    5. Find Max Number
    6. Title Case
    7. Reverse String
    8. Palindrome
    9. Count Vowels
    10. Remove Duplicates
  3. Chapter 3 : 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
  4. Chapter 4 : Higher 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
  5. Chapter 5 : 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
  6. Chapter 6 : Time and 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
  7. Chapter 7 : Hash Tables, Maps, and 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
  8. Chapter 8 : Stacks, Queues, and 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
  9. Chapter 9 : Binary Trees, BST, and 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
    6. Maximum Depth
    7. What Is A Binary Search Tree?
    8. Binary Search Tree Implementation - Part 1
    9. Binary Search Tree Implementation - Part 2
    10. Validate BST
    11. What Is A Graph?
    12. Adjacency Matrix Adjacency List
    13. Graph Implementation
    14. Graph Traversal Visualization
    15. Graph Depth-First Traversal
    16. Graph Breadth-First Traversal
  10. Chapter 10 : Sorting Algorithms
    1. What Are Sorting Algorithms?
    2. Bubble Sort Algorithm
    3. Bubble Sort Implementation
    4. Insertion Sort Algorithm
    5. Insertion Sort Implementation
    6. Selection Sort Algorithm
    7. Selection Sort Implementation
    8. Merge Sort Algorithm
    9. Merge Sort Implementation
    10. Quick Sort Algorithm
    11. Quick Sort Implementation
  11. Chapter 11 : Wrap Up
    1. Wrap Up

Product information

  • Title: 70+ JavaScript Challenges - Data Structures and Algorithms
  • Author(s): Brad Traversy
  • Release date: October 2023
  • Publisher(s): Packt Publishing
  • ISBN: 9781835468814