NPTEL Data Structure and Algorithms using Java Week 5 Assignment Answers 2024
1. Which of the following operations on a stack in Java has a time complexity of O(1)?
a. Inserting an element (push)
b. Removing an element (pop)
c. Accessing the top element (peek)
d. All of the above
Answer :- For Answers Click Here
2. Which of the following statements about the implementation of a stack using an array in Java is true?
a. The stack implemented using an array in Java can automatically resize itself when it becomes full.
b. You need to manually resize the array when the stack implemented using an array in Java becomes full.
c. The stack implemented using an array in Java provides constant time (O(1)) complexity for push and pop operations regardless of the number of elements.
d. Arrays in Java are dynamically resizable and do not require manual resizing.
Answer :- For Answers Click Here
3. Given the following Java code snippet, which involves a series of stack operations:
Stack stack = new Stack<>();
stack.push(10);
stack.push(20);
stack.push(30);
stack.pop();
stack.push(40);
stack.push(50);
stack.pop();
stack.pop();
stack.push(60);
stack.push(70);
stack.pop();
What is the sequence of elements in the stack from top to bottom after all operations have been performed?
a. 10, 20, 60
b. 20, 10, 60
c. 60, 20, 10
d. 60, 10, 20
Answer :- For Answers Click Here
4. Given the postfix expression 5 1 2 + 4 * + 3 -, what is the result after evaluation?
a. 14
b. 15
c. 20
d. 9
Answer :-
5. What will be the output of the main method ?
import java.util.Stack;
public class Test{
public static String test1(String input) {
Stack stack = new Stack<>();
for (char ch : input.toCharArray()) {
stack.push(ch);
}
return test2(stack);
}
private static String test2(Stack stack) {
if (stack.isEmpty()) {
return "";
} else {
char ch = stack.pop();
return ch + test2(stack);
}
}
public static void main(String[] args) {
String input = "exam";
System.out.println(test1(input)); // What is the output?
}
}
a. exam
b. maxe
c. e
d. exammaxe
Answer :-
6. Imagine you are developing a feature for a text editor that allows users to undo their last set of changes. You decide to use a stack to implement this feature. Each time a user makes a change, the previous state of the text is pushed onto the stack. When the user selects “Undo”, the most recent state is popped from the stack, and the text reverts to that state.
Given the following sequence of text states:
- “Hello World!!!”
- “Hello”
- “Hello World”
- “Hello World!”
If the user makes three consecutive “Undo” operations, what will be the current state of the text?
a. “Hello World!!!”
b. “Hello World”
c. “Hello”
d. “”
Answer :- For Answers Click Here
7. Which of the following statements represent “circular queue is full” condition an array is used to implement a queue?
a. FRONT = 0
REAR = 0
b. FRONT = (REAR +1 MOD LENGTH)
c. CQ[FRONT] = ITEM
d. CQ[REAR] = ITEM
Answer :-
8. When implementing a task scheduling system where tasks are processed in the order they arrive, which data structure is best suited for managing the tasks?
a. Stack
b. Queue
c. Binary Search Tree
d. Hash Table
Answer :-
9. Consider a scenario where you need to reverse the order of elements in an array using a stack. Which approach best describes the algorithm?
a. Push all elements onto the stack and then pop them back into the array.
b. Pop elements from the array and push them onto the stack.
c. Iterate through the array and swap elements from the beginning with elements from the end.
d. Create a new array and copy elements from the original array in reverse order.
Answer :-
10. Consider an array of size 10 used to implement a circular queue. The array index starts from 0. If the FRONT is at index 3 and the REAR is at index 8, at which index will the next element be inserted?
a. 9
b. 3
c. 10
d. 0
Answer :- For Answers Click Here