Quiz Questions
For Chapter 11
THIS PAGE CONTAINS A SAMPLE quiz on material from
Chapter 11 of this on-line
Java textbook. You should be able to answer these questions after
studying that chapter. Sample answers to all the quiz questions can
be found here.
Question 1:
Explain what is meant by a recursive subroutine.
Question 2:
Consider the following subroutine:
static void printStuff(int level) {
if (level == 0) {
System.out.print("*");
}
else {
System.out.print("[");
printStuff(level - 1);
System.out.print(",");
printStuff(level - 1);
System.out.println("]");
}
}
Show the output that would be produced by the subroutine
calls printStuff(0), printStuff(1), printStuff(2),
and printStuff(3).
Question 3:
Suppose that a linked list is formed from objects that belong to the class
class ListNode {
int item; // An item in the list.
ListNode next; // Pointer to next item in the list.
}
Write a subroutine that will find the sum of all the ints in
a linked list. The subroutine should have a parameter of type ListNode
and should return a value of type int.
Question 4:
What are the three operations on a stack?
Question 5:
What is the basic difference between a stack and a queue?
Question 6:
What is an activation record? What role does a
stack of activation records play in a computer?
Question 7:
Suppose that a binary tree is formed from objects belonging to the class
class TreeNode {
int item; // One item in the tree.
TreeNode left; // Pointer to the left subtree.
TreeNode right; // Pointer to the right subtree.
}
Write a recursive subroutine that will find the sum of all the nodes in
the tree. Your subroutine should have a parameter of type TreeNode,
and it should return a value of type int.
Question 8:
What is a postorder traversal of a binary tree?
Question 9:
Suppose that a <multilist> is defined by the BNF rule
<multilist> ::= <word> | "(" [ <multilist> ]... ")"
where a <word> can be any sequence of letters. Give five
different <multilist>'s that can be generated by this rule.
(This rule, by the way, is almost the entire syntax of the programming
language LISP! LISP is known for its simple syntax
and its elegant and powerful semantics.)
Question 10:
Explaining what is meant by parsing a computer program.