Data Structures in JavaScript - Master the Fundamentals

Preview this course
Enroll £38.99 £31.19
30-Day Money-Back Guarantee
Full Lifetime Access.

- OR -

Get this course, plus 250+ of our top-rated AI & Data courses, with a Subscription.
Enjoy a Free Trial. Cancel Anytime.
96 on-demand videos & exercises
Level: All Levels
English
14hrs 4mins
Access on mobile, web and TV

Who's this course for?

If you are looking to build a solid foundation in data structures and algorithms to design and develop software, then this is the course for you.

What you'll learn

  • Distinguish between arrays and lists.
  • Implement list push, grow, remove, and insert.
  • Understand the Big O time-space asymptotic analysis.
  • Find out when to use stacks and trees.
  • Discover the applications of trees in data structure and algorithm.
  • Handle collisions with hash maps.

Key Features

  • Get to grips with the fundamentals of data structures and algorithms.
  • Learn how to solve common computer programs using algorithms.
  • Solve challenges such as Minesweeper, Sieve of Eratosthenes, and Morse code.

Course Curriculum

01

Introduction

Introduction
Course Outline
01:07

02

Arrays

Arrays
Arrays vs Lists
04:28
Common Array Iterations
24:45
Pairwise Array Comparisons
16:02
Array Functions
09:10
Searching Arrays
10:07
Is Sorted Challenge
02:00
Is Sorted Solution
10:20
Two Dimensional (2D) Arrays
09:33
Iterating Over Two Dimensional Arrays
05:20
Two Dimensional Bounds Checking
28:28
The Minesweeper Challenge
06:55
The Minesweeper Solution
10:38
The Tally Sort Challenge
09:43
The Tally Sort Solution
15:17

03

Lists

Lists
Lists Out of Arrays
16:13
Implementing List Push and Grow Functions
20:40
Implementing List Remove
13:59
Implement List Insert
06:19
The List Contains Challenge
02:39
The List Contains Solution
02:44
List Get and Set
03:28
The Concat Challenge
02:53
The Concat Solution
05:29

04

The Big O Time Space Asymptomatic Analysis

The Big O Time Space Asymptomatic Analysis
Introduction to Big O
13:41
Big O of N-Squared
11:22
Timing Big O of One Versus N Versus N-Squared
08:08
No Constants- N Big O Notation
05:05
The Big O Challenge
00:26
The Big O Solution
03:32

05

Linked Lists

Linked Lists
Linked Lists
08:53
Coding Linked Lists
13:00
Linked List Manipulation Challenge
16:24
Linked List Manipulation Solution
16:30
Linked List Class
13:37
Get at Index
09:00
Remove at Index
22:17
Add at Index
11:21
Summarizing Arrays vs Linked Lists
06:54
Prefer Manipulating Pointers to Copying Data
08:22

06

Stacks

Stacks
Introduction to Stacks
06:25
Stack Implementations
04:09
Stack Out of Linked List
05:44
Stack Out of Array
07:01
The Balance Parenthesis Challenge
06:30
The Balance Parenthesis Solution
07:25
The Paren Bracket Curly Balance Challenge
04:44
The Paren Bracket Curly Balance Solution
08:35
The Condense Challenge
03:42
The Condense Inefficient Solution
13:34
The Condense Efficient Solution
15:55

07

Queues

Queues
Introduction to Queues
08:21
Implementing a Queue
10:20
The Josephus Challenge
05:03
The Josephus Solution
11:21
The Sieve of Eratosthenes Challenge
07:27
The Sieve of Eratosthenes Solution
06:38
Native JavaScript (JS) Arrays Stacks and Queues
08:55

08

Recursion

Recursion
Introduction to Recursion
27:40
Recursive Fibonacci
27:00
The Palindrome Challenge
03:42
Palindrome Hints
05:27
The Palindrome Solution
09:22
Palindrome Bonus
08:04

09

Trees

Trees
Introduction to Trees
03:46
Iterating Over Trees
19:16
The Tree Sum Challenge
02:43
The Tree Sum Solution
05:02
The Tree Contains Challenge
00:42
The Tree Contains Solution
04:22
The Tree Size Leaves Challenge
01:27
The Tree Size Leaves Solution
03:54
The Tree Min Max Height Challenge
03:04
The Tree Min Max Height Solution
11:25
Binary Search Trees
12:24
Binary Search Tree Add
16:19
The Binary Search Tree Contains Challenge
01:24
The Binary Search Tree Contains Solution
05:39
Unbalanced Binary Search Trees
08:00
The Morse Code Challenge
04:42
The Morse Code Solution
10:34

10

Hash maps

Hash maps
Introduction to Hash Maps
26:21
Handling Collisions with Linear Probing
25:52
Handling Collisions by Chaining Linked Lists
03:15
Coding Linked List Collisions
08:05

11

Graphs

Graphs
Introduction to Graphs
11:59
Coding a Graph Class
09:26
Breadth First and Depth First Traversals
13:56
Certificate of Completion
Feedback on this Course
3 questions

What to know about this course

Data structures allow you to organize code in the most efficient way to help you perform operations effectively. An algorithm is a step-by-step procedure for solving problems, be it solving a computer problem, writing source code, or innovating new programs. With this course, you’ll learn the concepts of data structures and algorithms using JavaScript. Starting with an introduction to data structures and algorithms, the course takes you through the concept of arrays, where you’ll solve a minesweeper challenge to understand the importance of an array in data structures. Next, you’ll become familiar with lists and discover how Big O helps in describing the complexity of an algorithm. As you advance, you’ll gain insights into stacks, queues, recursion, and trees by solving challenges such as condense, Josephus, palindrome, and Morse code. Toward the end, you’ll get an overview of hash maps and graphs. By the end of this course, you’ll have developed a solid understanding of data structures and algorithms essential for building reliable software. The code files are added on the GitHub repository at https://github.com/PacktPublishing/Data-Structures-in-JavaScript-Master-the-Fundamentals

We use cookies to provide you with an optimal experience and relevant communication. Learn more or accept individual cookies.

Necessary

Necessary cookies (First Party Cookies) are sometimes called "strictly necessary" as without them we cannot provide the functionality that you need to use this website. For example, essential cookies help remember your preferences as you navigate through the online school.

Functional

Functional cookies enable this website to provide enhanced functionality and personalization, by remembering information you have entered and choices you make. These preferences are remembered through the use of persistent cookies, so that you will not have to set them again the next time you visit the website.

Analytics

Analytics cookies track information about visits on our website so that we can measure and improve its performance, as well as optimize our course content. These cookies help us analyze user behavior by tracking the number of visits, how visitors use the website, which site or page they come from and how long they are staying for.

Marketing

Marketing cookies are used to deliver advertising material relevant to you and your interests. They are also used to limit the number of times you see an advertisement, resulting to more targeted advertising, as well as help us measure the effectiveness of our campaigns. They are usually placed by advertising networks we collaborate with, with our permission.