Design & Analysis of Algorithms

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.