The Last Algorithms Course You'll Need

ThePrimeagen

ThePrimeagen

Netflix
9 hours, 20 minutes CC
The Last Algorithms Course You'll Need

Course Description

Welcome to a super fun, beginner-friendly data structures and algorithms course. Is it really the last algorithms course you'll need? If you want to pass tough interview questions, then yes! You'll learn big o time complexity, fundamental data structures like arrays, lists, trees, graphs, and maps, and searching and sorting algorithms.

This course and others like it are available as part of our Frontend Masters video subscription.

Preview
Close

Course Details

Published: September 12, 2022

Learn Straight from the Experts Who Shape the Modern Web

Your Path to Senior Developer and Beyond
  • 200+ In-depth courses
  • 18 Learning Paths
  • Industry Leading Experts
  • Live Interactive Workshops
Get Unlimited Access Now

Table of Contents

Introduction

Section Duration: 7 minutes
  • Introduction
    ThePrimeagen introduces the course by discussing some personal background with algorithms, types of algorithms that will be covered, and suggestions for retaining the information presented in this course. Reasons to learn algorithms, why this course uses TypeScript, and ThePrimeagen's social media links are also provided in this lesson.

Basics

Section Duration: 29 minutes
  • Big O Time Complexity
    ThePrimeagen discusses an overview of Big O, including, what it is, why it's used, and some essential concepts. A walkthrough of a Big O code example is also provided in this segment.
  • Arrays Data Structure
    ThePrimeagen demonstrates interpreting arrays as a fixed size, contiguous memory chunk by walking through array positions in an array buffer. Operations that can be performed on an array are also demonstrated in this segment.
  • Arrays Q&A
    ThePrimeagen answers student questions about whether there is no insert, push, or pop in an array and if an array's size and memory allocation must be specified at initialization. Questions regarding whether something that has an array is being created when creating an array in JavaScript and how big the array is that is instantiated are also covered in this segment.

Search

Section Duration: 39 minutes

Sort

Section Duration: 1 hour, 6 minutes

Arrays

Section Duration: 39 minutes

Recursion

Section Duration: 47 minutes

Quick Sort

Section Duration: 29 minutes
  • QuickSort Algorithm
    ThePrimeagen discusses the QuickSort algorithm as an algorithm that uses a divide and conquer technique. The algorithm picks a pivot element and rearranges the array so elements smaller than the pivot element move to the left side of the pivot, and elements greater move to the right side. The algorithm then recursively sorts the subarrays on the left and right of the pivot element.
  • Implementing QuickSort
    ThePrimeagen walks through implementing and testing the QuickSort algorithm in the kata machine. Both a Quicksort function and a partition function are implemented in this segment.

Doubly Linked List

Section Duration: 35 minutes

Trees

Section Duration: 32 minutes
  • Trees Overview
    ThePrimeagen discusses an overview of more advanced data structures known as trees and walks through some terminology with a whiteboard example. A tree can be empty with no nodes, or a tree can be a structure consisting of one node called the root and zero or one or more subtrees.
  • Tree Traversals
    ThePrimeagen discusses and demonstrates, via whiteboarding, visiting nodes using three types of traversals preorder, inorder, and postorder.
  • Implement Tree Traversal
    ThePrimeagen live codes the three types of tree traversals. Inorder traversal traverses one subtree of a node, visits the node, and then traverses its other subtree. Preorder traversal visits a node and then traverses both of its subtrees. Postorder traversal traverses both subtrees of a node, then visits the node.

Tree Search

Section Duration: 1 hour

Heap

Section Duration: 49 minutes
  • Heap
    ThePrimeagen discusses the heap data structure as a binary tree where every child and grandchild is smaller (MinHeap) or larger than (MaxHeap) the current node. Student questions regarding if this is considered a doubly linked list and if this is implemented in an array are also covered in this segment.
  • Implementing Heap
    ThePrimeagen walks through implementing and testing a MinHeap data structure using a JavaScript array in the kata machine. The insert and delete methods are implemented in this segment.
  • Tries
    ThePrimeagen discusses visualizing tries as autocomplete, demonstrates the structure of a trie tree with pseudo code, and implements a trie tree in the kata machine. Insertion and deletion in a trie tree are also covered in this segment.

Graphs

Section Duration: 1 hour, 14 minutes

Maps & LRU

Section Duration: 44 minutes

Wrapping Up

Section Duration: 3 minutes
  • Wrapping Up
    ThePrimeagen wraps up the course by providing a brief overview of the material covered and directions on what to look into next. Heartfelt well wishes and encouragement to utilize opportunities given are also provided in this segment.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now