Bubble sort's time complexity can be improved to _______ by implementing certain optimizations.

  • O(n log n)
  • O(n log^2 n)
  • O(n)
  • O(n^2)
Bubble sort's time complexity can be improved to O(n) by implementing certain optimizations. With optimized versions such as the flag-based check and other enhancements, the algorithm can achieve linear time complexity in scenarios where the array is already sorted or nearly sorted, making it more efficient in specific use cases.

How can you implement a queue using an array?

  • Implement enqueue and dequeue at the middle of the array.
  • Implement enqueue at the end and dequeue at the beginning, shifting elements accordingly.
  • Use a single pointer for enqueue at the end and dequeue at the beginning.
  • Use two pointers, one for enqueue and one for dequeue, and shift elements as needed.
A common way to implement a queue using an array is to use two pointers, one for enqueue at the end and one for dequeue at the beginning. Elements are shifted as needed to accommodate new elements and maintain the order of the queue.

The best-case time complexity of Insertion Sort is _______.

  • O(1)
  • O(n log n)
  • O(n)
  • O(n^2)
The best-case time complexity of Insertion Sort is O(1). This occurs when the input array is already sorted, and the algorithm needs only to check each element once.

Radix sort is often used to sort data represented in which numeric base?

  • Binary
  • Decimal
  • Hexadecimal
  • Octal
Radix sort is often used to sort data represented in the hexadecimal numeric base. It operates by processing digits from the least significant digit to the most significant digit.

In topological sorting, what property does the resulting linear ordering of vertices maintain?

  • Preservation of edge direction
  • Preservation of vertex colors
  • Preservation of vertex degrees
  • Preservation of vertex names
The resulting linear ordering of vertices in topological sorting maintains the property of preserving edge direction. It ensures that for every directed edge (u, v), vertex 'u' comes before 'v' in the ordering, representing a valid sequence of dependencies.

Bubble sort performs well when the list is _______ or nearly sorted because it requires fewer _______ to complete.

  • Presorted, comparisons
  • Randomized, swaps
  • Reversed, elements
  • Unsorted, iterations
Bubble sort performs well when the list is presorted or nearly sorted because it requires fewer comparisons to complete. In a nearly sorted list, many elements are already in their correct positions, reducing the number of swaps needed, making the algorithm more efficient in such scenarios.

A doubly linked list contains nodes that have _______ pointers.

  • Four
  • One
  • Three
  • Two
A doubly linked list contains nodes that have two pointers: one pointing to the next node in the sequence and another pointing to the previous node. This allows for easy traversal in both directions.

In a static array, the size is _______ at compile time, whereas in a dynamic array, the size can be _______ at runtime.

  • Fixed, Fixed
  • Fixed, Variable
  • Variable, Fixed
  • Variable, Variable
In a static array, the size is fixed at compile time, while in a dynamic array, the size can be changed at runtime to accommodate varying data requirements.

Radix sort is generally faster than comparison-based sorting algorithms for sorting _______ integers.

  • Binary
  • Large
  • Prime
  • Small
Radix sort is generally faster than comparison-based sorting algorithms for sorting small integers because it takes advantage of the fixed-size nature of integers and avoids comparisons.

How is the Knapsack Problem different from other optimization problems?

  • It aims to minimize the number of selected items.
  • It does not consider any constraints; it's about finding the absolute optimum.
  • It focuses on maximizing the total value of selected items within certain constraints.
  • It involves minimizing the total weight of selected items.
The Knapsack Problem is distinct as it specifically aims to maximize the total value of selected items within certain constraints, making it a constrained optimization problem. Other optimization problems may have different objectives or constraints.