Unit 6 - Practice Quiz

CSE357 50 Questions
0 Correct 0 Wrong 50 Left
0/50

1 What is the primary definition of an algorithm in the context of computer science?

A. A hardware component used to process data
B. A step-by-step procedure or set of rules to solve a specific problem
C. A random sequence of operations
D. A programming language syntax

2 Which of the following factors is not typically considered when analyzing the asymptotic running time of an algorithm?

A. The programming language used
B. The number of basic operations performed
C. The size of the input
D. The growth rate of the function

3 If an algorithm processes an input of size using a single loop that runs from $1$ to , what is its time complexity?

A.
B.
C.
D.

4 What does Space Complexity refer to?

A. The amount of time the CPU takes to execute instructions
B. The number of lines of code in the program
C. The amount of memory required by an algorithm to run as a function of input size
D. The bandwidth consumed during execution

5 In algorithm analysis, which case provides an upper bound on the execution time?

A. Best-case
B. Average-case
C. Worst-case
D. Null-case

6 Which of the following functions has the highest rate of growth as ?

A.
B.
C.
D.

7 Consider the function . What is the Big-O notation for this function?

A.
B.
C.
D.

8 What is the Big-O complexity of a nested loop where the outer loop runs times and the inner loop runs times?

A.
B.
C.
D.

9 What does the notation formally imply?

A. for some constant and
B. for some constant and
C. for some constant
D. grows strictly slower than

10 Which asymptotic notation represents the lower bound of an algorithm's running time?

A. (Big-O)
B. (Big-Theta)
C. (Big-Omega)
D. (Little-o)

11 If and , then:

A.
B.
C.
D. This condition is impossible

12 Which of the following represents constant time complexity?

A.
B.
C.
D.

13 What is the typical time complexity of Binary Search?

A.
B.
C.
D.

14 In the analysis of algorithms, what happens to the constant factors (e.g., the $5$ in ) when using Big-O notation?

A. They are added to the exponent
B. They are ignored/dropped
C. They are squared
D. They become the base of the logarithm

15 If Algorithm A is and Algorithm B is , which algorithm is generally preferred for very large inputs?

A. Algorithm A
B. Algorithm B
C. Both are equal
D. It depends on the computer hardware

16 What is the recurrence relation for the Merge Sort algorithm?

A.
B.
C.
D.

17 What is the defining characteristic of a Recursive function?

A. It uses a for loop
B. It calls itself
C. It uses pointers
D. It always returns 0

18 In recursion, what is the Base Case?

A. The most complex part of the problem
B. The condition that stops the recursion
C. The first line of the code
D. The variable with the largest value

19 If a recursive function lacks a base case, what runtime error is likely to occur?

A. Null Pointer Exception
B. Syntax Error
C. Stack Overflow Error
D. Index Out of Bounds

20 Which algorithmic technique systematically searches for a solution by trying options and undoing them if they fail?

A. Dynamic Programming
B. Backtracking
C. Greedy Method
D. Divide and Conquer

21 The N-Queens problem is a classic example solved using which technique?

A. Greedy Algorithm
B. Backtracking
C. Hashing
D. Sorting

22 In the context of Backtracking, what does pruning mean?

A. Removing syntax errors
B. Cutting off branches of the state-space tree that do not lead to a solution
C. Reducing the size of the input array
D. Optimizing the compiler

23 What is Tail Recursion?

A. When the recursive call is the first statement
B. When the recursive call is the last operation performed
C. Recursion with two base cases
D. Recursion used only for sorting

24 Which of the following problems is typically NOT solved efficiently by recursion due to overlapping subproblems?

A. Calculating the -th Fibonacci number (naive approach)
B. Merge Sort
C. Quick Sort
D. Tree Traversal

25 Dynamic Programming is mainly used for optimization problems that possess which two properties?

A. Greedy Choice and Randomization
B. Overlapping Subproblems and Optimal Substructure
C. Recursion and Iteration
D. Encapsulation and Inheritance

26 In Dynamic Programming, what is Memoization?

A. A bottom-up approach using iteration
B. A top-down approach that stores results of expensive function calls
C. Deleting unused memory
D. Using a greedy strategy

27 What is the difference between Tabulation and Memoization?

A. Tabulation is Bottom-Up; Memoization is Top-Down
B. Tabulation is Top-Down; Memoization is Bottom-Up
C. Tabulation uses more memory
D. Memoization is not a DP technique

28 The 0/1 Knapsack Problem is best solved using:

A. Greedy Algorithm
B. Dynamic Programming
C. Bubble Sort
D. Binary Search

29 What is the time complexity of the Dynamic Programming solution for the Longest Common Subsequence (LCS) of two strings of length and ?

A.
B.
C.
D.

30 Which algorithm finds the shortest paths from a single source to all other vertices in a graph with negative edge weights (but no negative cycles)?

A. Dijkstra's Algorithm
B. Bellman-Ford Algorithm
C. Prim's Algorithm
D. Kruskal's Algorithm

31 The Floyd-Warshall algorithm for All-Pairs Shortest Paths is an example of:

A. Greedy Algorithm
B. Divide and Conquer
C. Dynamic Programming
D. Backtracking

32 What defines a Greedy Algorithm?

A. It looks ahead to see the final outcome before deciding
B. It makes the locally optimal choice at each step hoping to find the global optimum
C. It tries all possible solutions
D. It solves subproblems and stores their results

33 Which problem can be solved optimally using a Greedy Algorithm?

A. 0/1 Knapsack Problem
B. Fractional Knapsack Problem
C. Traveling Salesman Problem
D. Longest Common Subsequence

34 Huffman Coding uses a greedy strategy to construct:

A. A Maximum Spanning Tree
B. An optimal prefix-free binary tree for data compression
C. A sorted array
D. A shortest path graph

35 The Activity Selection Problem (selecting max non-overlapping activities) is solved by sorting activities by their:

A. Start times
B. Finish times
C. Durations
D. Priority

36 Which of the following algorithms is used to find the Minimum Spanning Tree (MST)?

A. Binary Search
B. Prim's Algorithm
C. Merge Sort
D. Strassen's Algorithm

37 In Kruskal’s Algorithm for MST, edges are processed in what order?

A. Decreasing order of weight
B. Increasing order of weight
C. Random order
D. Based on the node index

38 Dijkstra's Algorithm is a greedy algorithm. Why does it fail with negative edge weights?

A. It runs out of memory
B. It assumes that adding an edge never decreases the total path distance
C. It is too slow
D. It cannot handle cycles

39 The Coin Change Problem (finding min coins) can be solved greedily only if:

A. The coins are all the same value
B. The coin system is 'canonical' (e.g., US currency)
C. We want the maximum number of coins
D. The total value is negative

40 Which data structure is often used to efficiently implement Prim's Algorithm or Dijkstra's Algorithm?

A. Stack
B. Queue
C. Priority Queue (Min-Heap)
D. Hash Table

41 What is the key difference between Prim's and Kruskal's algorithms?

A. Prim's grows a tree from a source node; Kruskal's grows a forest of edges
B. Prim's is for directed graphs; Kruskal's is for undirected
C. Prim's uses recursion; Kruskal's uses iteration
D. There is no difference

42 Which concept explains why Merge Sort is ?

A. The height of the recursion tree is and work per level is
B. It sorts in place without extra memory
C. It uses a greedy approach
D. It runs loops inside loops

43 In the Matrix Chain Multiplication problem (DP), what are we trying to minimize?

A. The number of matrices
B. The size of the matrices
C. The total number of scalar multiplications
D. The determinant of the result

44 What is the time complexity of calculating the -th Fibonacci number using DP with Memoization?

A.
B.
C.
D.

45 Which of the following is true regarding Optimal Substructure?

A. It means the problem can be solved using a greedy heuristic only
B. It means an optimal solution to the problem contains optimal solutions to its subproblems
C. It implies the solution is unique
D. It is only found in sorting algorithms

46 What is the complexity of sorting an array using Quick Sort in the worst case?

A.
B.
C.
D.

47 Which notation represents the strict upper bound (rarely used in basic analysis)?

A. (Little-o)
B. (Big-O)
C. (Theta)
D. (Omega)

48 In algorithm analysis, a 'Basic Operation' is:

A. The entire program
B. A complex function call
C. The operation contributing most to the running time
D. A comment in the code

49 Which strategy does Binary Search use?

A. Divide and Conquer
B. Dynamic Programming
C. Greedy
D. Backtracking

50 The Travelling Salesman Problem (TSP) is generally considered hard because:

A. It has complexity
B. It is NP-Hard and no polynomial time algorithm is known
C. It can be solved easily with Greedy
D. It requires negative edge weights