
This quiz is designed to test your understanding of fundamental concepts of Design & Analysis of Algorithms.
This quiz is suitable for BS Computer Science students preparing for exams or anyone looking to strengthen their conceptual foundation in Design & Analysis of Algorithms.
→ Design & Analysis of Algorithms
- Introduction; role of algorithms in computing
- Analysis on Nature of Input and Size of Input
- Asymptotic notations; Big-O, Big $\Omega$, Big $\Theta$, Little-o, Little-$\omega$
- Sorting Algorithm Analysis
- Loop Invariants
- Recursion and Recurrence Relations
- Algorithm Design Techniques
- Brute Force Approach
- Divide-and-Conquer Approach; Merge, Quick Sort
- Greedy Approach
- Dynamic Programming; Elements of Dynamic Programming
- Search Trees
- Heaps; Heapsort
- Graph Algorithms
- Shortest Paths
- Sparse Graphs
- String Matching
- Introduction to Complexity Classes





1. The word ____________comes from the name of a Persian mathematician Abu Ja’far Mohammed ibn-i Musa al Khowarizmi.
a) Flowchart
b) Flow
c) Algorithm
d) Syntax
View Answer
Answer: c
Explanation: The word algorithm comes from the name of a Persian mathematician Abu Ja’far Mohammed ibn-i Musa al Khowarizmi.
2. In computer science, algorithm refers to a special method usable by a computer for the solution to a problem.
a) True
b) False
View Answer
Answer: a
Explanation: The statement is true. This word algorithm refers to a special method usable by a computer for the solution to a problem. The statement of the problem specifies in general terms the desired input/output relationship.
3. This characteristic often draws the line between what is feasible and what is impossible.
a) Performance
b) System Evaluation
c) Modularity
d) Reliability
View Answer
Answer: a
Explanation: Algorithms help us to understand scalability. Performance often draws the line between what is feasible and what is impossible.
4. The time that depends on the input: an already sorted sequence that is easier to sort.
a) Process
b) Evaluation
c) Running
d) Input
View Answer
Answer: c
Explanation: The running time depends on the input: an already sorted sequence is easier to sort. The running time is given by the size of the input, since short sequences are easier to sort than the longer ones. Generally, we seek upper bounds on the running time, because it is reliable.
5. Which of the following is incorrect?
Algorithms can be represented:
a) as pseudo codes
b) as syntax
c) as programs
d) as flowcharts
View Answer
Answer: b
Explanation: Representation of algorithms:
-As programs
-As flowcharts
-As pseudo codes.
6. When an algorithm is written in the form of a programming language, it becomes a _________
a) Flowchart
b) Program
c) Pseudo code
d) Syntax
View Answer
Answer: b
Explanation: An algorithm becomes a program when it is written in the form of a programming language. Thus, any program is an algorithm.
7. Any algorithm is a program.
a) True
b) False
View Answer
Answer: b
Explanation: The statement is false. An algorithm is represented in the form of a programming language is called a program. Any program is an algorithm but the reverse is not true.
8. A system wherein items are added from one and removed from the other end.
a) Stack
b) Queue
c) Linked List
d) Array
View Answer
Answer: b
Explanation: In a queue, the items are inserted from the rear end and deleted from the front end.
9. Another name for 1-D arrays.
a) Linear arrays
b) Lists
c) Horizontal array
d) Vertical array
View Answer
Answer: a
Explanation: Linear arrays are the 1-Dimensional arrays wherein only one row is present and the items are inserted.
10. A data structure that follows the FIFO principle.
a) Queue
b) LL
c) Stack
d) Union
View Answer
Answer: a
Explanation: The answer is Queue. A Queue follows the FIFO principle. FIFO stands for First In First Out.
