Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a data structure?
A data structure is a way to organize and store data so it can be used efficiently, like how a bookshelf organizes books for easy finding.
Click to reveal answer
beginner
Why is choosing the right data structure important?
Choosing the right data structure helps your program run faster and use less memory, just like choosing the right container helps you carry things easily.
Click to reveal answer
beginner
Which data structure is best for fast lookup by key?
A dictionary (or map) is best for fast lookup by key, like a phone book where you find a number by a person's name quickly.
Click to reveal answer
beginner
When should you use a list (array)?
Use a list when you want to keep items in order and access them by position, like a line of people waiting where you know who is first or last.
Click to reveal answer
beginner
What is a real-life analogy for a stack data structure?
A stack is like a stack of plates: you add or remove plates only from the top, following last-in, first-out (LIFO) order.
Click to reveal answer
Which data structure is best for storing unique items without order?
ASet
BList
CQueue
DStack
✗ Incorrect
A set stores unique items and does not keep them in order, like a collection of unique stamps.
If you need to process items in the order they arrive, which data structure should you use?
AStack
BTree
CDictionary
DQueue
✗ Incorrect
A queue processes items in first-in, first-out (FIFO) order, like a line at a store.
Which data structure allows fast access to elements by index?
ASet
BDictionary
CList (Array)
DGraph
✗ Incorrect
Lists or arrays allow fast access by position, like knowing the 3rd book on a shelf.
What is the main advantage of using a dictionary (map)?
AFast lookup by key
BStores unique items only
CKeeps items in order
DProcesses items in FIFO order
✗ Incorrect
Dictionaries provide fast lookup by key, like finding a contact by name.
Which data structure is like a stack of plates?
AQueue
BStack
CSet
DList
✗ Incorrect
A stack follows last-in, first-out (LIFO), like adding/removing plates from the top.
Explain how you would choose a data structure for storing a list of tasks to do in order.
Think about how you handle a to-do list or waiting line.
You got /3 concepts.
Describe a real-life example for when a dictionary (map) is the best data structure to use.
Think about looking up someone's phone number by their name.
You got /3 concepts.
Practice
(1/5)
1. Which data structure should you use if you want to store a list of items where order matters and duplicates are allowed?
easy
A. List or array
B. Set
C. Dictionary
D. Tuple
Solution
Step 1: Understand the need for order and duplicates
Lists and arrays keep the order of items and allow duplicates, which matches the requirement.
Step 2: Compare with other structures
Sets do not allow duplicates, dictionaries store key-value pairs, and tuples are immutable but also keep order.
Final Answer:
List or array -> Option A
Quick Check:
Order + duplicates = List/array [OK]
Hint: Use lists for ordered data with duplicates [OK]
Common Mistakes:
Choosing set which removes duplicates
Choosing dictionary which stores key-value pairs
Confusing tuple immutability with order
2. Which of the following is the correct way to create an empty set in Python?
easy
A. empty_set = {}
B. empty_set = set()
C. empty_set = []
D. empty_set = ()
Solution
Step 1: Recall syntax for empty set
In Python, {} creates an empty dictionary, not a set.
Step 2: Identify correct set creation
Using set() creates an empty set correctly.
Final Answer:
empty_set = set() -> Option B
Quick Check:
Empty set = set() [OK]
Hint: Use set() to create empty sets, {} is a dict [OK]
Common Mistakes:
Using {} which creates an empty dictionary
Using [] which creates a list
Using () which creates a tuple
3. What will be the output of this Python code?
data = {'apple': 3, 'banana': 5, 'orange': 2}
print(data['banana'])
medium
A. 5
B. 3
C. 'banana'
D. KeyError
Solution
Step 1: Understand dictionary key-value access
In the dictionary, 'banana' is a key with value 5.
Step 2: Access the value for 'banana'
Using data['banana'] returns the value 5.
Final Answer:
5 -> Option A
Quick Check:
Dictionary key 'banana' = 5 [OK]
Hint: Dictionary[key] returns the value for that key [OK]
Common Mistakes:
Confusing key with value
Expecting the key name as output
Mistyping key causing KeyError
4. You want to store unique user IDs and quickly check if a user ID exists. Which data structure is best? The code below has an error. Find and fix it.
user_ids = []
user_ids.add(101)
user_ids.add(102)
medium
A. Use dictionary instead of list
B. Use append instead of add: user_ids.append(101)
C. Change list to set: user_ids = set()
D. No error, code is correct
Solution
Step 1: Identify the error in method usage
Lists do not have an add() method; add() is for sets.
Step 2: Choose correct data structure for unique items
Sets store unique items and support add() method, so change list to set.
Final Answer:
Change list to set: user_ids = set() -> Option C
Quick Check:
Unique items + add() = set [OK]
Hint: Use set() for unique items and add() method [OK]
Common Mistakes:
Using add() on list causing AttributeError
Using append() but duplicates allowed
Choosing dictionary unnecessarily
5. You have a list of student names with possible duplicates. You want to count how many times each name appears. Which data structure is best and why?
hard
A. Use a tuple to store names immutably
B. Use a set to store unique names only
C. Use a list to store all names again
D. Use a dictionary to map names to counts
Solution
Step 1: Understand the need to count occurrences
Counting requires storing each name with its count, which is a key-value pair.
Step 2: Choose data structure for key-value pairs
Dictionaries store keys (names) with values (counts), perfect for this task.
Final Answer:
Use a dictionary to map names to counts -> Option D
Quick Check:
Counting items = dictionary [OK]
Hint: Use dictionary for counting items with keys and values [OK]
Common Mistakes:
Using set which removes duplicates and loses counts
Using list which doesn't map names to counts
Using tuple which is immutable and not for counting