Algorithms & Data Structures
Data Structures
- Array: Implementation & Big O Complexity
- Stack: Implementation
- Queue: Implementation & Big O Complexity
- Linked List: Implementation & Big O Complexity
- Binary Tree: Implementation & Big O Complexity
- Binary Search Tree: Implementation & Big O Complexity
- Binary Search Tree Without Node class: Implementation
Introduction
- Introduction to Algorithms
- Data Structures and Algorithms in JavaScript
- Python Algorithms for Interviews
- Top 10 algorithms in interview questions
- Useful links about algorithms
- Algorithms and Data Structures Tutorial
- Introduction of Data Structure and algorithm
Big-O notation and design
Data Structures
- Data Structures and Algorithms cheat sheet
- Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer
- What is Data Structure?
Stack
Queues
Linked Lists
- Linked Lists Data Structure
- Linked Lists Data Structure in JavaScript
- Linked Lists for Technical Interviews
- Linked Lists Data Structure
Trees
Graphs
- Graph Algorithms for Technical Interviews
- Graph Search Algorithms in 100 Seconds
- Depth First Search
- Breadth First Search & Depth First Search
- Graph data structure β Part 1
- Graph data structure β Part 2
- Graph in Data Structure
Algorithms
- 3 Tricks To Master String Problems
- 3 Tricks To Master Linked List Problems
- 5 Tricks To Solve Any Interval/Conflict Schedule Related Problems
- Master 2D matrix/maze traversal
- Find Kth Largest/Smallest Element Without Sorting
- Coding Patterns β Binary Search, Trie, Heap
- Coding Patterns - UnionFind, Devide And Conquer, Toposort
- Coding Patterns - Sliding Window, 2 Pointer, String
- Coding Patterns - Presum, Greedy, intervals
- Coding Patterns - Mono-Stack
- Coding Patterns - Backtracking
- Coding Patterns - Dynamic Programming
- Coding Patterns - BFS
- Coding Patterns - DFS
- Problem Patterns
- Recursive descent parsing
- Let's implement a Bloom Filter
- Grokking LeetCode: A Smarter Way to Prepare for Coding Interviews
- Dynamic Programming
π§π· π΅πΉ
Coding Interviews
Build the the foundation by learning the fundamental algorithms and data structures:
- Fundamental Algorithms
- Sorting: merge, quick, bucket, heap, counting
- Searching: Binary Search, Depth First Search, Breadth First Search
- Dynamic Programming
- String / Array: reverse
- Linked list: insertion, deletion
- Fundamental Data Structures
- Complexity
- Space complexity for all algorithms / data structures
- Runtime complexity for all algorithms / data structures
- Make comparisons between algorithms and data structures
Preparation
- Google Interview Preparation
- The ultimate guide to preparing for the coding interview
- Taejun's preparation
- Recruiter's view
- Prep by elliotbot
- Google devtip: Software Engineering Principles
- Google devtip: DS & Algorithms
- Google devtip: Interview Prep
- Software Engineer interview preparation
- Algorithm Template
- Build a Solid Foundation β The Complete Guide to Google Interview Preparation
- Before the interview
- Programming Interview Questions
- 10 Common Coding Interview Problems
- Must Do Easy Questions
- Must Do Medium Questions
- Blind Curated 75
- 8 Most Popular Microsoft Coding Interview Questions Solved Step by Step
- Brian Bi considerations
- knock a technical interview
- How to Land a Front-end Software Engineer job at Big Tech Companies such as Google, Facebook, and Twitter
- Get an Interview with Google β The Complete Guide to Google Interview Preparation
- Build a Solid Foundation β The Complete Guide to Google Interview Preparation
- How to study Data Structures and Algorithms while working a full-time job?
- 3-month plan for Cracking the Coding Interview
- How I build a habit to leetcode
- From Zero to Hero in Problem Solving
- How To Study For Coding Interviews Efficiently
- Coding Interview Prep Guide
- Donβt Study 500 LeetCode Problems, Do This Instead
- Joining the Uber Eng Team - Coding Interview
- Google Interview Guide
Big O Notation
System Design
- Preparing to System Design
- InterviewBit System Design course
- System Design Primer
- The System Design Process
- High Scalability
- System Design Template
Interview
Platforms to learn
Competitive Programming
Computer Science
Computing
Theory
- A Uniο¬ed Theory of Garbage Collection
- Computer Organization | Performance of Computer
- Computer Organization - Performance