Introduction to Data Structures and Important Concepts
  • What Are Data Structures and Why Are They Important?
  • Constructor Functions and the "this" Keyword
  • The Prototype Object
Linked Lists
  • What is a Linked List?
  • Linked List and "Node" Constructor Functions
  • Add To Head - part 1
  • Add To Head - part 2
  • Using Add To Head
  • Add To Tail
  • Testing Add To Tail and Add To Head
  • Remove Head
  • Remove Tail
  • Search Method
  • Testing Search
  • Linked List - Independent Exercise
  • Linked List - Exercise Review
  • Big O Notation and Calculating the Runtime of a Function
  • Big O Notation & Runtime Source Code
  • Linked List Wrap-Up
  • Linked List Source Code
Binary Search Trees
  • What is a Binary Search Tree?
  • Recursion - part 1
  • Recursion part 2 and the Call Stack
  • Insert Method
  • Testing Insert
  • Contains Method
  • Testing Contains
  • Depth First Traversal - In-Order
  • Testing Depth First Traversal In-Order
  • Refactoring Depth First Traversal Method
  • Depth First Traversal - Pre-Order
  • Testing Depth First Traversal Pre-Order
  • Depth First Traversal - Post-Order
  • Breadth First Traversal - part 1
  • Breadth First Traversal - part 2
  • Testing Breadth First Traversal
  • Binary Search Tree - Independent Exercise
  • Binary Search Tree - Exercise Review
  • Binary Search Tree Wrap-up
  • Binary Search Tree Source Code
Hash Tables
  • What is a Hash Table?
  • Hash Table and Hash Node Constructor Functions
  • CharCodeAt Method and Modulus Operator
  • Hash Method
  • Insert Method
  • Testing Insert Method
  • Refactoring Insert Method
  • Testing Refactored Insert Method
  • Get Method
  • Testing Get Method
  • Hash Table - Independent Exercise
  • Hash Table - Exercise Review
  • Hash Table Wrap-up
  • Hash Table Source Code
Next Steps
  • Next Steps
  • JavaScript Algorithms Course Coupon