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.
Overview
Syllabus
- Introduction
- Big O Time Complexity
- Arrays Data Structure
- Arrays Q&A
- Linear Search & Kata Setup
- Binary Search Algorithm
- Pseudo Code Binary Search
- Implementing Binary Search
- Two Crystal Balls Problem
- Implementing Two Crystal Balls
- Bubble Sort
- Implementing Bubble Sort
- Linked List Data Structures
- Linked List Complexity
- Queue
- Implementing a Queue
- Queue Q&A
- Stack
- Implementing a Stack
- Arrays vs Linked List
- ArrayList
- ArrayBuffer
- Data Structures Q&A
- Recursion
- Path Finding: Base Case
- Path Finding: Recursive Case
- Recursion Q&A
- QuickSort Algorithm
- Implementing QuickSort
- Linked List: prepend, insertAt, & append
- Linked List: remove, get, & removeAt
- Linked List Q&A
- Debugging Linked List
- Trees Overview
- Tree Traversals
- Implement Tree Traversal
- Breadth-First Search
- Implement Breadth-First Search
- Search Practice
- Implement Binary Tree Comparison
- Depth-First: Find
- Depth-First: Insert
- Depth-First: Delete
- Binary Search Tree Q&A
- Implement Depth-First Search
- Heap
- Implementing Heap
- Tries
- Graphs Overview
- Searching an Adjacency Matrix
- Implementing BFS on Adjacency Matrix
- Implement DFS on Adjacency List
- Dijkstra's Shortest Path
- Implement Dijkstra's Shortest Path
- Dijkstra's Shortest Path Run Time
- Maps
- LRU Cache
- LRU Cache Setup
- Implementing an LRU Cache
- Wrapping Up
Taught by
ThePrimeagen