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
intermediate
In which scenario is Linear Search preferred over other search algorithms?
When the list is small or unsorted, Linear Search is simple and effective without extra setup.
Click to reveal answer
beginner
What does Linear Search return if the target is not found in the list?
It returns -1 or a special value indicating the target is not present.
Click to reveal answer
beginner
Show a simple TypeScript code snippet for Linear Search.
function linearSearch(arr: number[], target: number): number {
for (let i = 0; i < arr.length; i++) {
if (arr[i] === target) {
return i;
}
}
return -1;
}
Click to reveal answer
What does Linear Search do when it finds the target element?
ASorts the list
BStops and returns the index of the target
CContinues searching the entire list
DDeletes the target element
✗ Incorrect
Linear Search stops immediately and returns the index when it finds the target.
What is the best case time complexity of Linear Search?
AO(n log n)
BO(n)
CO(log n)
DO(1)
✗ Incorrect
Best case is when the target is the first element, so it takes constant time O(1).
Which of these lists is Linear Search most suitable for?
AA large sorted list
BA hash table
CA small unsorted list
DA balanced binary search tree
✗ Incorrect
Linear Search works well on small or unsorted lists where other methods add overhead.
If the target is not in the list, what does Linear Search return?
A-1
B0
CThe last index
DThe length of the list
✗ Incorrect
Linear Search returns -1 to indicate the target was not found.
How does Linear Search check elements in the list?
AOne by one from start to end
BRandomly
CFrom the middle to the ends
DUsing binary splitting
✗ Incorrect
Linear Search checks each element one by one from the start to the end.
Explain how Linear Search works step-by-step on a list of numbers.
Think about looking for a name in a phone book by checking every entry.
You got /4 concepts.
Describe when you would choose Linear Search over other search methods.
Consider situations where sorting or complex structures are not worth the effort.
You got /4 concepts.
Practice
(1/5)
1. What is the main idea behind the Linear Search Algorithm?
easy
A. Divide the list into halves repeatedly to find the target
B. Check each element one by one until the target is found or list ends
C. Sort the list first then search using binary steps
D. Use a hash table to find the target instantly
Solution
Step 1: Understand linear search process
Linear search checks each element in order, from start to end, to find the target.
Step 2: Compare with other search methods
Binary search divides list, hash uses extra memory, but linear search is simple sequential check.
Final Answer:
Check each element one by one until the target is found or list ends -> Option B
Quick Check:
Linear search = sequential check [OK]
Hint: Linear search means checking items one by one [OK]
Common Mistakes:
Confusing linear search with binary search
Thinking linear search requires sorted list
Assuming linear search is always fastest
2. Which of the following is the correct TypeScript syntax to start a linear search loop over an array arr?
easy
A. for (let i = 0; i < arr.length; i++)
B. for (let i = 1; i <= arr.length; i++)
C. for (let i = 0; i <= arr.length; i++)
D. for (let i = 1; i < arr.length; i++)
Solution
Step 1: Identify correct loop start and end
Array indices start at 0 and go up to length-1, so loop must start at 0 and run while i < length.
Step 2: Check each option's loop condition
for (let i = 0; i < arr.length; i++) uses i=0 and i < arr.length, which is correct. Others either start at 1 or use <= which causes out-of-bounds.
Final Answer:
for (let i = 0; i < arr.length; i++) -> Option A
Quick Check:
Loop from 0 to length-1 [OK]
Hint: Array loops start at 0 and run while less than length [OK]
Common Mistakes:
Starting loop at 1 instead of 0
Using <= instead of < causing index errors
Confusing array length with last index
3. What will be the output of this TypeScript code?
const arr = [4, 7, 1, 9];
const target = 1;
let index = -1;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === target) {
index = i;
break;
}
}
console.log(index);
medium
A. 1
B. -1
C. 2
D. 3
Solution
Step 1: Trace the loop and compare elements
Check arr[0]=4 (not 1), arr[1]=7 (not 1), arr[2]=1 (match found), set index=2 and break loop.
Step 2: Output the index variable
After loop, index is 2, so console.log prints 2.
Final Answer:
2 -> Option C
Quick Check:
Target found at index 2 [OK]
Hint: Stop at first match and print its index [OK]
Common Mistakes:
Not breaking loop and returning last index
Confusing index with value
Assuming index starts at 1
4. Find the error in this linear search code snippet and choose the fix:
const arr = [5, 3, 8];
const target = 3;
let index = -1;
for (let i = 0; i <= arr.length; i++) {
if (arr[i] === target) {
index = i;
break;
}
}
console.log(index);
medium
A. Change loop condition to i < arr.length
B. Initialize index to 0 instead of -1
C. Remove the break statement
D. Change target to 5
Solution
Step 1: Identify loop boundary error
The loop uses i <= arr.length, which causes i to reach arr.length, an invalid index (out of bounds).
Step 2: Fix loop condition to prevent out-of-bounds
Changing condition to i < arr.length ensures i stays within valid indices 0 to length-1.
Final Answer:
Change loop condition to i < arr.length -> Option A
Quick Check:
Loop must run while i < length [OK]
Hint: Use < not <= for array index loops [OK]
Common Mistakes:
Using <= causing runtime error
Changing unrelated variables
Removing break causing unnecessary iterations
5. You want to find the last occurrence of a target number in an array using linear search. Which modification to this code will achieve that?
const arr = [2, 5, 3, 5, 7];
const target = 5;
let index = -1;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === target) {
index = i;
break;
}
}
console.log(index);
hard
A. Sort the array before searching
B. Add break after setting index to stop at first occurrence
C. Start loop from the end and break at first match
D. Remove the break statement to continue searching all elements
Solution
Step 1: Understand current code behavior
The loop checks all elements; each time target matches, index updates to current i, so last match index remains after loop.
Step 2: Identify why removing break helps
If break was present, loop would stop at first match. Removing break ensures full array is checked for last occurrence.
Final Answer:
Remove the break statement to continue searching all elements -> Option D
Quick Check:
Keep searching to find last occurrence [OK]
Hint: To find last occurrence, check all elements without break [OK]
Common Mistakes:
Adding break stops search too early
Sorting changes original order and index meaning
Starting loop from end requires different logic
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.