Skip to content

Data Structures and Algorithms

SubPages

Python basics

Complexity Analysis & Big O

_Object-Oriented Analysis and Design

Hashtables & Hashsets

Strings, Arrays & Linked Lists

Recursion, DP & Backtracking

Stacks & Queues

Trees & Graphs

Sorting

Searching

Heaps & Priority Queues

Greedy Algorithms

Trie (Keyword Tree)

Math Tricks

One of those

Quick Tips

_Patterns for Coding Questions


Data Structures and Algorithms

Data%20Structures%20and%20Algorithms%2016913c6fbd244de481b6b1705cbfa6be/Screenshot_2021-07-21_at_14.30.56.png

I have to literally lookup up every leetcode solution. Is it normal?

Introduction | Tech Interview Handbook

Coding Interview Prep

Comprehensive Data Structure and Algorithm Study Guide - LeetCode Discuss

Posts by Category

Data Structure Visualization

Introduction

How To Find a Solution

Python Functions

TOPICS WHICH YOU CAN'T SKIP [INTERVIEW PREPARATION | STUDY PLAN] USING LEETCODE - LeetCode Discuss

All You Need This For Better Preparation - LeetCode Discuss

Important and Useful links from all over the LeetCode - LeetCode Discuss

A LeetCode Grinding Guide

Data structures playlist

My notes for the night before interview. - LeetCode Discuss

Other

Google Interview Tips + FAQs Answered + Resources - LeetCode Discuss

Data structures and Algorithms (patterns):

  • Binary search: BS can be used in so many different situations!
  • Leap year, GCD, LCM, isPrime, prime finding, prime factorization
  • Bit manipulation
  • Reservoir sampling
  • 2 pointer strategy and sliding window
  • cumulative sum, prefix sum (1d, 2d, 3d)
  • Sorting: selection sort, quick sort, quick select, insertion sort (with binary search optimization), merge sort, heap sort, radix sort, counting sort, bucket sort
  • String strategies: rabin-karp, KMP, Boyer-Moore
  • Graph: Dijkstra, Bellman-Ford, Union find, Kruskal, Prim, Floyd-Warshall, Tarjan, DFS, BFS, Ford Fulkerson & Edmond (Min cut max flow), Hamiltonion path (with bitmasking), Eulerian cycle, Topological sorting
  • DFS: backtracking
  • Monotonically increasing stack, queue, etc.
  • DP: Top-down using recursion and memoization, Bottom up using iteration and tabulation
  • Classic DP patterns: LCS, LIS, LIS (strictly increasing), Equal sum partition
  • BIT: binary indexed tree/sedgwick tree
  • Interval trees
  • Tree: inorder, preorder, postorder traversal: iterative and recursive, morris traversal to do those 3 in O(1) space
  • Binary search trees (BSTs), heaps, splay trees, red-black trees, skip list, avl tree

Tools:

Tips:

https://www.topcoder.com/thrive/articles/Greedy is Good

https://www.topcoder.com/thrive/articles/An Introduction to Recursion Part Two

Data structures in 5 min:

https://www.youtube.com/playlist?list=PLlipSLnrfrUlclWAcvmyxcn6R7tzwALhM

How to approach problems

More reading

Interview Cake Slides

TODO



Find the original version of this page (with additional content) on Notion here.



Last update: December 13, 2021 16:05:48
Created: December 13, 2021 16:05:48
Authors: paulonteri (94.25%), Not Committed Yet (5.75%)