Learning Data Structures in JavaScript from Scratch

Learning Data Structures in JavaScript from Scratch
Learning Data Structures in JavaScript from Scratch
English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 3.5 Hours | 501 MB

Write more efficient & performant code by learning data structures. Be well prepared for technical interview questions.

This course teaches data structures (linked lists, binary search trees, hash tables) from the ground up. Data structures allow you to improve the efficiency, performance, speed, and scalability of your code/programs/applications. You will learn what data structures are, why they are important, and how to code them out in JavaScript. You will also learn other important programming concepts along the way such as recursion, time complexity, the “this” keyword, the prototype object, and constructor functions, since data structures use these concepts by their very nature. This course heavily uses diagrams and animations to help make understanding the material easier.

This course is also very good for anyone who is interviewing for developer/engineering jobs at both large and small companies. Interviewers will very often ask candidates to write data structures out in code, and this course will prepare you very well to do that. If you have recently graduated from a coding bootcamp or are currently looking for a job, you will find this course to be beneficial. Knowing data structures will help you to excel in technical interviews.

What Will I Learn?

  • Code out important data structures in JavaScript
  • Improve the efficiency, performance, and scalability of your code, applications, and programs
  • Excel in technical engineering/programming interviews at both large companies and small companies
  • Manipulate data structures in your own, custom, ways for whatever suits your needs
Table of Contents

Introduction to Data Structures and Important Concepts
1 What Are Data Structures and Why Are They Important
2 Constructor Functions and the this Keyword
3 The Prototype Object

Linked Lists
4 What is a Linked List
5 Linked List and Node Constructor Functions
6 Add To Head – part 1
7 Add To Head – part 2
8 Using Add To Head
9 Add To Tail
10 Testing Add To Tail and Add To Head
11 Remove Head
12 Remove Tail
13 Search Method
14 Testing Search
15 Linked List – Independent Exercise
16 Linked List – Exercise Review
17 Big O Notation and Calculating the Runtime of a Function
18 Big O Notation Runtime Source Code
19 Linked List Wrap-Up
20 Linked List Source Code

Binary Search Trees
21 What is a Binary Search Tree
22 Recursion – part 1
23 Recursion part 2 and the Call Stack
24 Insert Method
25 Testing Insert
26 Contains Method
27 Testing Contains
28 Depth First Traversal – In-Order
29 Testing Depth First Traversal In-Order
30 Refactoring Depth First Traversal Method
31 Depth First Traversal – Pre-Order
32 Testing Depth First Traversal Pre-Order
33 Depth First Traversal – Post-Order
34 Breadth First Traversal – part 1
35 Breadth First Traversal – part 2
36 Testing Breadth First Traversal
37 Binary Search Tree – Independent Exercise
38 Binary Search Tree – Exercise Review
39 Binary Search Tree Wrap-up
40 Binary Search Tree Source Code

Hash Tables
41 What is a Hash Table
42 Hash Table and Hash Node Constructor Functions
43 CharCodeAt Method and Modulus Operator
44 Hash Method
45 Insert Method
46 Testing Insert Method
47 Refactoring Insert Method
48 Testing Refactored Insert Method
49 Get Method
50 Testing Get Method
51 Hash Table – Independent Exercise
52 Hash Table – Exercise Review
53 Hash Table Wrap-up
54 Hash Table Source Code

Next Steps
55 Next Steps
56 JavaScript Algorithms Course Coupon