8 cards104 people studying this
Data Structures & Algorithms
Must-know DSA concepts for coding interviews — Big O, trees, graphs, sorting, and dynamic programming.
Study this deck for freeFree account includes unlimited cards, FSRS v6 scheduling, and AI card generation.
No credit card required.
Try a card
Try it — tap the card
What is Big O notation?
92% likely forgottenTap to see the answer
Describes the upper bound of an algorithm's time/space complexity as input grows. O(1) constant, O(log n) logarithmic, O(n) linear, O(n²) quadratic.
Tap to flip back
What is a hash table?
Last reviewed 12 days agoTap to see the answer
A data structure mapping keys to values using a hash function. Average O(1) lookup, insert, delete. Handles collisions via chaining or open addressing.
Tap to flip back
What is the difference between BFS and DFS?
87% likely forgottenTap to see the answer
BFS explores level by level (uses queue). DFS explores as deep as possible first (uses stack/recursion). BFS finds shortest path in unweighted graphs.
Tap to flip back
What is dynamic programming?
Fading — due 5 days agoTap to see the answer
Breaking a problem into overlapping subproblems, solving each once, and storing results. Two approaches: top-down (memoization) and bottom-up (tabulation).
Tap to flip back
What is a binary search tree?
79% likely forgottenTap to see the answer
A binary tree where left child < parent < right child. Enables O(log n) search, insert, delete for balanced trees. Degenerates to O(n) if unbalanced.
Tap to flip back
What is the time complexity of merge sort?
Last reviewed 21 days agoTap to see the answer
O(n log n) in all cases — divides array in half recursively, then merges sorted halves. Stable sort. O(n) extra space.
Tap to flip back
What is a stack vs a queue?
94% likely forgottenTap to see the answer
Stack: LIFO (Last In, First Out) — push/pop from top. Queue: FIFO (First In, First Out) — enqueue at back, dequeue from front.
Tap to flip back
What is a linked list and when to use it?
Fading — due 9 days agoTap to see the answer
A sequence of nodes where each points to the next. O(1) insert/delete at head. Use when frequent insertions/deletions needed; arrays are better for random access.
Tap to flip back
Made with Forgetless — the AI flashcard app
Create your own deck in 30 seconds. Powered by the same algorithm as Anki.
Start free