Algorithm Concepts
📌 Syllabus Point
Algorithm Concepts
🧠 Summary
An algorithm is a step-by-step procedure used to solve a problem.
It takes input, performs operations, and produces output.
Example:
Algorithm to find the largest number in a list.
Characteristics of a Good Algorithm
1. Input – accepts data
2. Output – produces result
3. Definiteness – steps are clearly defined
4. Finiteness – must stop after finite steps
5. Effectiveness – steps must be simple and executable
Example
Algorithm to find sum of two numbers:
1. Start
2. Read A, B
3. Sum = A + B
4. Print Sum
5. Stop
🎯 Key Memory Points
Algorithm = step-by-step solution
Must terminate
Must produce output
🧪 MCQs (Topic 1)
1. An algorithm is:
A. programming language
B. step-by-step procedure
C. database
D. network protocol
✅ Answer: B
2. Which property means algorithm must stop?
A. definiteness
B. finiteness
C. input
D. output
✅ Answer: B
3. Algorithm mainly helps to:
A. design hardware
B. solve computational problems
C. connect networks
D. manage memory
✅ Answer: B
4. An algorithm must produce:
A. input
B. output
C. compiler
D. program
✅ Answer: B
2️Algorithm Analysis
📌 Syllabus Point
Analyzing Algorithms
🧠 Summary
Algorithm analysis measures:
efficiency
performance
time required
memory used
Two main types:
1️Time Complexity
Time taken by algorithm.
2️Space Complexity
Memory required.
Example:
Linear search → O(n)
🎯 Key Points
analysis evaluates performance
measured using complexity
🧪 MCQs (Topic 2)
1. Algorithm analysis measures:
A. performance
B. complexity
C. efficiency
D. all of these
✅ Answer: D
2. Time complexity refers to:
A. memory used
B. execution time
C. storage space
D. program size
✅ Answer: B
3. Space complexity measures:
A. memory usage
B. execution time
C. program speed
D. algorithm steps
✅ Answer: A
3️Asymptotic Notations
📌 Syllabus Point
Asymptotic Notations
🧠 Summary
Asymptotic notation describes algorithm growth rate when input size
becomes large.
Three important types:
Big-O (O)
Represents worst case complexity.
Example:
O(n)
Omega (Ω)
Represents best case complexity.
Theta (Θ)
Represents average case complexity.
Example
Linear Search:
Worst case → O(n)
Binary Search:
O(log n)
🎯 Memory Points
O → worst case
Ω → best case
Θ → average case
🧪 MCQs (Topic 3)
1. Big-O notation represents:
A. best case
B. worst case
C. average case
D. space complexity
✅ Answer: B
2. Omega notation represents:
A. worst case
B. best case
C. average case
D. recursion
✅ Answer: B
3. Binary search complexity is:
A. O(n)
B. O(log n)
C. O(n²)
D. O(1)
✅ Answer: B
4️⃣ Greedy Algorithm
📌 Syllabus Point
Greedy Approach
🧠 Summary
Greedy algorithm makes the best choice at each step to find optimal
solution.
It selects locally optimal choice hoping it leads to global optimum.
Example problems:
Fractional Knapsack
Activity Selection
Huffman Coding
Key Idea
Greedy → choose best option immediately
🧪 MCQs (Topic 4)
1. Greedy algorithms choose:
A. random choice
B. locally optimal choice
C. worst choice
D. average choice
✅ Answer: B
2. Which problem uses greedy method?
A. activity selection
B. knapsack
C. huffman coding
D. all of these
✅ Answer: D
5️⃣ Dynamic Programming
📌 Syllabus Point
Dynamic Programming
🧠 Summary
Dynamic programming solves problems by:
breaking them into subproblems
storing results to avoid recomputation
This is called memoization.
Example:
Fibonacci
Knapsack problem
Shortest path algorithms
Key Idea
Store results of subproblems.
🧪 MCQs (Topic 5)
1. Dynamic programming avoids:
A. repetition of calculations
B. recursion
C. loops
D. algorithms
✅ Answer: A
2. Storing intermediate results is called:
A. hashing
B. memoization
C. sorting
D. searching
✅ Answer: B
6️⃣ Divide and Conquer
📌 Syllabus Point
Divide and Conquer
🧠 Summary
Divide and Conquer works in three steps:
1️⃣ Divide problem into smaller subproblems
2️⃣ Solve subproblems
3️⃣ Combine solutions
Example algorithms:
Merge Sort
Quick Sort
Binary Search
🧪 MCQs (Topic 6)
1. Divide and conquer strategy includes:
A. divide
B. conquer
C. combine
D. all of these
✅ Answer: D
2. Which algorithm uses divide and conquer?
A. merge sort
B. quick sort
C. binary search
D. all of these
✅ Answer: D
7️⃣ Sorting Algorithms
📌 Syllabus Point
Sorting
🧠 Summary
Sorting arranges elements in ascending or descending order.
Common sorting algorithms:
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
🧪 MCQs
1. Sorting means:
A. arranging data
B. deleting data
C. encrypting data
D. compressing data
✅ Answer: A
2. Which sorting algorithm compares adjacent elements?
A. bubble sort
B. merge sort
C. quick sort
D. heap sort
✅ Answer: A
8️⃣ Searching Algorithms
📌 Syllabus Point
Searching
🧠 Summary
Searching means finding a specific element in a dataset.
Two main types:
Linear Search
Check elements one by one.
Time complexity:
O(n)
Binary Search
Works only on sorted arrays.
Time complexity:
O(log n)
🧪 MCQs
1. Binary search works on:
A. unsorted list
B. sorted list
C. random list
D. linked list only
✅ Answer: B
2. Linear search complexity is:
A. O(log n)
B. O(n)
C. O(n²)
D. O(1)
✅ Answer: B
✅ Algorithms Topics Covered
✔ Algorithm concept
✔ Algorithm analysis
✔ Asymptotic notation
✔ Greedy method
✔ Dynamic programming
✔ Divide & conquer
✔ Sorting
✔ Searching
Alright Daisy. I’ll do this properly so it’s actually useful for the exam,
not just random MCQs.
Important honesty first:
I cannot truly analyze all past CUET papers here, but I can analyze
the common pattern used in MCA / CUET-PG / GATE-style algorithm
questions, which are very similar. Professors reuse the same concept
types every year.
So I’ll give you:
1️⃣ Pattern analysis (what type of algorithm questions appear)
2️⃣ What is most likely to appear
3️⃣ 20 high-probability MCQs (10 normal + 10 high-probability exam
style)
4️⃣ What topics inside Algorithms are most dangerous
📊 Algorithm Question Pattern (Very Important)
In most MCA / CUET papers, algorithm questions come in these
types:
Type Probability
Time Complexity ⭐⭐⭐⭐ Very common
Searching algorithms ⭐⭐⭐⭐ Very common
Sorting algorithms ⭐⭐⭐ Common
Greedy concept ⭐⭐ Medium
Divide & Conquer ⭐⭐ Medium
Dynamic Programming
⭐⭐ Medium
concept
Rarely asked:
deep dynamic programming math
full algorithm code
They prefer concept MCQs.
🎯 Most Likely Questions This Year
From analysis of typical exam style, expect questions like:
1️⃣ Binary search complexity
2️⃣ Which algorithm uses divide & conquer
3️⃣ Which sorting algorithm compares adjacent elements
4️⃣ Greedy algorithm definition
5️⃣ Big O notation meaning
6️⃣ Worst case of linear search
7️⃣ Which algorithm works only on sorted list
These appear almost every year in some form.
🧪 20 Algorithm MCQs (High Probability)
Section A — Core Questions
An algorithm is:
A. programming language
B. step-by-step procedure to solve a problem
C. database
D. network protocol
✅ Answer: B
Which property ensures algorithm terminates?
A. definiteness
B. finiteness
C. correctness
D. efficiency
✅ Answer: B
Which notation represents worst-case complexity?
A. Big O
B. Theta
C. Omega
D. Alpha
✅ Answer: A
Binary search complexity is:
A. O(n)
B. O(log n)
C. O(n²)
D. O(1)
✅ Answer: B
Linear search worst-case complexity:
A. O(log n)
B. O(n)
C. O(n²)
D. O(1)
✅ Answer: B
Which searching algorithm requires sorted data?
A. linear search
B. binary search
C. hash search
D. sequential search
✅ Answer: B
Which sorting algorithm compares adjacent elements?
A. bubble sort
B. quick sort
C. merge sort
D. heap sort
✅ Answer: A
Which algorithm uses divide and conquer?
A. merge sort
B. binary search
C. quick sort
D. all of these
✅ Answer: D
Greedy algorithms choose:
A. random choice
B. locally optimal choice
C. worst option
D. average option
✅ Answer: B
10
Dynamic programming mainly avoids:
A. recursion
B. repeated calculations
C. sorting
D. searching
✅ Answer: B
🔥 Section B — Exam-Style Tricky Questions
These are the kind professors like to ask.
11
Which notation describes average-case complexity?
A. O
B. Ω
C. Θ
D. log
✅ Answer: C
12
Binary search repeatedly divides the array into:
A. two halves
B. three parts
C. four parts
D. equal blocks
✅ Answer: A
13
Which algorithm technique stores subproblem results?
A. greedy
B. divide and conquer
C. dynamic programming
D. brute force
✅ Answer: C
14
The best-case complexity of linear search is:
A. O(1)
B. O(n)
C. O(log n)
D. O(n²)
✅ Answer: A
15
Which algorithm is fastest for large sorted datasets?
A. linear search
B. binary search
C. bubble sort
D. selection sort
✅ Answer: B
16
Which sorting algorithm is based on divide and conquer?
A. bubble sort
B. merge sort
C. insertion sort
D. selection sort
✅ Answer: B
17
The complexity of bubble sort in worst case is:
A. O(n)
B. O(log n)
C. O(n²)
D. O(1)
✅ Answer: C
18
Which algorithm design technique is used in Huffman coding?
A. greedy
B. divide and conquer
C. dynamic programming
D. backtracking
✅ Answer: A
19
Binary search repeatedly checks:
A. first element
B. middle element
C. last element
D. random element
✅ Answer: B
20
Which of the following is NOT a sorting algorithm?
A. merge sort
B. quick sort
C. binary search
D. bubble sort
✅ Answer: C
🚨 High-Priority Revision List (Algorithms)
Revise these before exam:
⭐ Big-O notation
⭐ Binary search
⭐ Linear search
⭐ Bubble sort
⭐ Merge sort
⭐ Divide & conquer
⭐ Greedy algorithm concept
⭐ Dynamic programming concept
These give maximum marks for minimum effort.