Preparing for Coding Interviews (A journey) - Noteworthy Data Structures and Algorithms

July 26, 2024 · 2 minute read ·

About this series This series of posts documents the learnings, challenges i encountered and the decisions i made on my journey to hone the (algorithmic) tools of my trade. It's partly a tool for me to arrange my thoughts on this, partly a resource for me to revisit every now and then, and partly to serve as a guide for anyone who might find it useful.

Check out the meta post for a list of all related posts. For any Hiring Managers/TA Partners seeing this, drop me an email if you like what you see!

Fundamental Data Structures

  • Object
  • Arrays
  • Linked Lists
  • Hash Maps
  • Stacks
  • Queues
  • Priority Queues
  • Trees
  • Graphs
  • (Binary) Heaps

NOTE: It is possible to build all of these data structures from the first two in the list

  • Arrays -> Stacks, Queues
  • Objects -> Linked Lists -> Stacks, Queues
  • Objects, Arrays -> Hash Maps
  • Objects -> Trees, Graphs
  • Trees -> Heap -> Priority Queue

Each data structure should allow for the following operations: Access, Insert, Update, Delete, Sort (if applicable)

Notable Algorithms

  • Longest Increasing Subsequence (LIS)
  • Knapsack Problem
  • Dijistra’s Algorithm
  • A* Search

Twitter, Facebook