What is the main idea behind the Linear Search Algorithm?
Linear Search checks each item in a list one by one until it finds the target or reaches the end.
Click to reveal answer
beginner
What is the time complexity of Linear Search in the worst case?
The worst-case time complexity is O(n), where n is the number of items in the list.
Click to reveal answer
beginner
In Linear Search, what happens if the target element is not in the list?
The algorithm checks all elements and returns -1 or a special value to show the target is not found.
Click to reveal answer
beginner
Show the basic steps of Linear Search in order.
1. Start from the first element. 2. Compare it with the target. 3. If it matches, return the index. 4. Otherwise, move to the next element. 5. Repeat until found or end of list.
Click to reveal answer
beginner
Why is Linear Search not efficient for large lists?
Because it checks every element one by one, it can take a long time if the list is large.
Click to reveal answer
What does Linear Search do when it finds the target element?
ADeletes the element
BContinues searching the rest of the list
CReturns the index of the element
DSorts the list
✗ Incorrect
Linear Search stops and returns the index when it finds the target element.
What is the best case time complexity of Linear Search?
AO(1)
BO(n)
CO(log n)
DO(n^2)
✗ Incorrect
If the target is the first element, Linear Search finds it immediately, so best case is O(1).
Which data structure is Linear Search best suited for?
AHash table
BSorted list
CBinary tree
DUnsorted list
✗ Incorrect
Linear Search works on any list but is mainly used for unsorted lists.
If the list has 10 elements and the target is not present, how many comparisons does Linear Search make?
A0
B10
C1
D9
✗ Incorrect
Linear Search compares each element until the end, so it makes 10 comparisons.
What value is commonly returned if the target is not found in Linear Search?
A-1
B0
C1
Dnull
✗ Incorrect
Returning -1 is a common way to indicate the target was not found.
Explain how Linear Search works step-by-step on a list of numbers.
Think about checking each item one by one.
You got /5 concepts.
Describe when Linear Search is a good choice and when it is not.
Consider list size and sorting.
You got /4 concepts.
Practice
(1/5)
1. What is the main idea behind the Linear Search Algorithm?
easy
A. Sort the list first then search using binary method
B. Divide the list into halves repeatedly to find the target
C. Use a hash table to find the target instantly
D. Check each element one by one until the target is found or list ends
Solution
Step 1: Understand linear search process
Linear search checks each element in order from start to end.
Step 2: Compare with other search methods
Binary search divides list, hash uses extra memory, linear is simple sequential check.
Final Answer:
Check each element one by one until the target is found or list ends -> Option D
Quick Check:
Linear search = sequential check [OK]
Hint: Linear search checks elements one by one [OK]
Common Mistakes:
Confusing linear search with binary search
Thinking linear search requires sorted list
Assuming linear search uses extra memory
2. Which of the following is the correct syntax to start a linear search loop in Java for an array arr of length n?
easy
A. for (int i = 0; i < n; i++)
B. for (int i = 0; i <= n; i++)
C. for (int i = 1; i < n; i++)
D. for (int i = 1; i <= n; i++)
Solution
Step 1: Understand array indexing in Java
Java arrays start at index 0 and go up to n-1, so loop must run from 0 to less than n.
Step 2: Check loop conditions
for (int i = 0; i < n; i++) uses i = 0 to i < n, which covers all valid indices correctly.
Final Answer:
for (int i = 0; i < n; i++) -> Option A
Quick Check:
Array index 0 to n-1 = for loop i=0 to i<n [OK]
Hint: Array indices start at 0, loop till less than length [OK]
Common Mistakes:
Using <= n causes index out of bounds error
Starting loop at 1 misses first element
Confusing array length with last index
3. What will be the output of the following Java code?
int[] arr = {4, 8, 15, 16, 23, 42};
int target = 15;
int index = -1;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == target) {
index = i;
break;
}
}
System.out.println(index);
Hint: Stop loop when target found, print index [OK]
Common Mistakes:
Not breaking loop causes last index output
Printing target value instead of index
Confusing index with array value
4. Identify the error in the following linear search code snippet and choose the correct fix:
int[] arr = {1, 3, 5, 7};
int target = 5;
int index = -1;
for (int i = 1; i <= arr.length; i++) {
if (arr[i] == target) {
index = i;
break;
}
}
System.out.println(index);
medium
A. Change loop to: for (int i = 0; i <= arr.length; i++)
B. Change loop to: for (int i = 0; i < arr.length; i++)
C. Change loop to: for (int i = 1; i < arr.length; i++)
D. No change needed, code is correct
Solution
Step 1: Identify loop index error
Loop starts at 1 and goes to i <= arr.length, which causes index out of bounds at i = arr.length.
Step 2: Correct loop to valid indices
Loop should start at 0 and run while i < arr.length to cover all valid indices safely.
Final Answer:
Change loop to: for (int i = 0; i < arr.length; i++) -> Option B
Quick Check:
Loop indices 0 to length-1 avoid errors [OK]
Hint: Loop from 0 to less than length to avoid errors [OK]
Common Mistakes:
Using <= arr.length causes runtime error
Starting loop at 1 misses first element
Ignoring array index bounds
5. You have an array arr = {2, 4, 7, 6, 8, 10}. You want to find the index of the first even number greater than 5 using linear search. Which code snippet correctly implements this?
hard
A. for (int i = 0; i < arr.length; i++) { if (arr[i] > 5 && arr[i] % 2 == 0) { System.out.println(i); break; } }
B. for (int i = 0; i < arr.length; i++) { if (arr[i] % 2 == 0) { System.out.println(i); break; } }
C. for (int i = 0; i < arr.length; i++) { if (arr[i] > 5) { System.out.println(i); break; } }
D. for (int i = 0; i < arr.length; i++) { if (arr[i] < 5 && arr[i] % 2 == 0) { System.out.println(i); break; } }
Solution
Step 1: Understand the condition to find
We want the first element that is even and greater than 5.
Step 2: Check each option's condition
for (int i = 0; i < arr.length; i++) { if (arr[i] > 5 && arr[i] % 2 == 0) { System.out.println(i); break; } } checks both conditions correctly; others miss one or use wrong condition.
Final Answer:
for (int i = 0; i < arr.length; i++) { if (arr[i] > 5 && arr[i] % 2 == 0) { System.out.println(i); break; } } -> Option A
Quick Check:
Check both conditions with && for correct index [OK]
Hint: Use && to combine conditions in linear search [OK]
Common Mistakes:
Checking only one condition instead of both
Using || instead of && causing wrong matches
Not breaking loop after first match
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.