What is the main difference between Binary Search and Linear Search?
Binary Search divides the search space in half each time, working only on sorted data, while Linear Search checks each element one by one regardless of order.
Click to reveal answer
beginner
Why does Binary Search require sorted data?
Because it decides which half to search next by comparing the target with the middle element, which only works if the data is sorted.
Click to reveal answer
intermediate
What is the time complexity of Linear Search and Binary Search?
Linear Search has O(n) time complexity, meaning it may check every element. Binary Search has O(log n) time complexity, cutting the search space in half each step.
Click to reveal answer
intermediate
In what situation might Linear Search be faster than Binary Search?
If the list is very small or unsorted, Linear Search can be faster because it doesn't require sorting and has less overhead.
Click to reveal answer
intermediate
What is the real cost difference between Binary Search and Linear Search in terms of comparisons?
Binary Search makes fewer comparisons on large sorted lists (about log₂ n), while Linear Search may make up to n comparisons, making Binary Search more efficient for big data.
Click to reveal answer
Which search algorithm requires the data to be sorted?
ABinary Search
BLinear Search
CBoth
DNeither
✗ Incorrect
Binary Search only works correctly on sorted data because it relies on dividing the search space based on order.
What is the worst-case time complexity of Linear Search?
AO(log n)
BO(n log n)
CO(n)
DO(1)
✗ Incorrect
Linear Search may need to check every element, so its worst-case time is O(n).
How many comparisons does Binary Search make in the worst case for a list of size 16?
A1
B8
C16
D4
✗ Incorrect
Binary Search makes about log₂(16) = 4 comparisons in the worst case.
When is Linear Search preferred over Binary Search?
AWhen data is sorted
BWhen data is unsorted or very small
CWhen data is very large
DNever
✗ Incorrect
Linear Search is simpler and faster for small or unsorted data because it avoids sorting overhead.
Which search algorithm has better average performance on large sorted lists?
ABinary Search
BLinear Search
CBoth perform the same
DDepends on the data
✗ Incorrect
Binary Search is faster on large sorted lists because it reduces the search space quickly.
Explain the key differences between Binary Search and Linear Search in simple terms.
Think about how each algorithm looks for the target.
You got /4 concepts.
Describe when you would choose Linear Search over Binary Search and why.
Consider the cost of sorting and data size.
You got /4 concepts.
Practice
(1/5)
1. Which search algorithm is generally faster on a sorted list of 1,000,000 elements?
easy
A. Binary Search because it divides the list repeatedly
B. Linear Search because it checks elements one by one
C. Both have the same speed on sorted lists
D. Linear Search because it uses less memory
Solution
Step 1: Understand Binary Search on sorted lists
Binary Search splits the list in half each time, quickly narrowing down the search.
Step 2: Compare with Linear Search
Linear Search checks each element one by one, which is slower for large lists.
Final Answer:
Binary Search because it divides the list repeatedly -> Option A
Quick Check:
Binary Search faster on sorted lists = C [OK]
Hint: Binary Search halves the list each step, so it's faster [OK]
Common Mistakes:
Thinking Linear Search is faster on sorted lists
Confusing memory use with speed
Assuming both have same speed
2. Which of the following is the correct syntax to start a binary search in Java on an array named arr?
easy
A. int index = arr.binarySearch(target);
B. int index = Arrays.binarySearch(arr, target);
C. int index = binarySearch(arr, target);
D. int index = binary_search(arr, target);
Solution
Step 1: Recall Java's binary search method
Java provides binary search as a static method in the Arrays class.
Step 2: Match syntax with options
Correct syntax is Arrays.binarySearch(array, value).
Final Answer:
int index = Arrays.binarySearch(arr, target); -> Option B
Hint: Use Arrays.binarySearch for binary search in Java [OK]
Common Mistakes:
Trying to call binarySearch directly on array
Using wrong method name like binary_search
Assuming binarySearch is an instance method
3. What will be the output of the following Java code snippet?
int[] arr = {2, 4, 6, 8, 10};
int target = 6;
int index = Arrays.binarySearch(arr, target);
System.out.println(index);
medium
A. 0
B. -1
C. 2
D. 3
Solution
Step 1: Understand Arrays.binarySearch behavior
It returns the index of the target if found, else a negative value.
Step 2: Find target 6 in array
Array is {2,4,6,8,10}, 6 is at index 2 (0-based).
Final Answer:
2 -> Option C
Quick Check:
Index of 6 in arr = 2 [OK]
Hint: Binary search returns index if found, else negative [OK]
Common Mistakes:
Confusing index with value
Expecting -1 when element is present
Miscounting array indexes
4. Identify the error in this linear search Java method:
public static int linearSearch(int[] arr, int target) {
for (int i = 1; i <= arr.length; i++) {
if (arr[i] == target) {
return i;
}
}
return -1;
}
medium
A. Loop index starts at 1 and goes to arr.length, causing ArrayIndexOutOfBoundsException
B. The method should use binary search instead of linear search
C. The method should return the value, not the index
D. The loop should use 'i < arr.length' instead of 'i <= arr.length' and start at 0
Solution
Step 1: Check loop index range
Array indexes start at 0, so loop should start at 0 and run while i < arr.length.
Step 2: Identify error in current loop
Loop starts at 1 and uses i <= arr.length, which causes out-of-bounds access.
Final Answer:
The loop should use 'i < arr.length' instead of 'i <= arr.length' and start at 0 -> Option D
Quick Check:
Array index range is 0 to length-1 [OK]
Hint: Array indexes start at 0; loop must respect this [OK]
Common Mistakes:
Starting loop at 1 instead of 0
Using <= instead of < in loop condition
Confusing index with value
5. You have a sorted array of 10 million elements. You want to find if a number exists. Which approach is best to minimize real cost (time and operations), and why?
hard
A. Use Binary Search because it reduces the number of comparisons drastically
B. Use Linear Search because it is simple and requires no sorting
C. Use Linear Search but start from the middle of the array
D. Use Binary Search only if the array is unsorted
Solution
Step 1: Consider array size and sorting
Array is sorted and very large (10 million elements).
Step 2: Compare search costs
Linear Search checks elements one by one, up to 10 million checks worst case. Binary Search halves search space each step, needing about 24 comparisons (log2(10,000,000)).
Step 3: Choose best approach
Binary Search is much faster and minimizes real cost in time and operations.
Final Answer:
Use Binary Search because it reduces the number of comparisons drastically -> Option A
Quick Check:
Binary Search halves search space, so fewer steps [OK]
Hint: Binary Search is best for large sorted arrays [OK]
Common Mistakes:
Choosing Linear Search for large sorted arrays
Starting Linear Search from middle doesn't help
Using Binary Search on unsorted arrays without sorting
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.