Data Structures - CS301 Spring 2009 Mid Term Paper
Data Structures - CS301 Spring 2009 Mid Term Paper
Data Structures - CS301 Spring 2009 Mid Term Paper
PK
MIDTERM EXAMINATION
Spring 2009
CS301 Data Structures (Session 3)
Question No: 1 ( Marks: 1 ) Please choose one
Which one of the following operations returns top value of the stack?
Push
Pop
Top
First
Question No: 2 ( Marks: 1 ) Please choose one
In a complete binary tree of depth 4 the number of nonleaf nodes is
7
8
15
16
Question No: 3 ( Marks: 1 ) Please choose one
Which of the following is NOT a linear data structure?
Linked List
Stack
Queue
Tree
Question No: 4 ( Marks: 1 ) Please choose one
A Linear Data Structure is the data structure in which data elements are arranged in a
sequence or a linear list. Which of the following is Non Linear Data Structure?
Arrays
LinkLists
Binary Search Trees
None of these
Question No: 5 ( Marks: 1 ) Please choose one
In sequential access data structure, accessing any element in the data structure takes
different amount of time. Tell which one of the following is sequential access data
structure,
Arrays
Lists
Both of these
None of these
Question No: 6 ( Marks: 1 ) Please choose one
If you know the size of the data structure in advance, i.e., at compile time, which one
of the following is a good data structure to use.
Array
List
Both of these
None of these
Question No: 7 ( Marks: 1 ) Please choose one
Recursive function calls are implemented internally using a data structure
Stack
LinkList
Tree
Queue
Question No: 8 ( Marks: 1 ) Please choose one
Given a stack of n items, how many POP and PUSH operations need to be performed to
remove the item at its bottom?
0 POP operation and 0 PUSH operation
1 POP operation and 1 PUSH operation
n POP operations and n PUSH operations
n POP operations and n1 PUSH operations
Question No: 9 ( Marks: 1 ) Please choose one
One difference between a queue and a stack is:
Queues require dynamic memory, but stacks do not.
Stacks require dynamic memory, but queues do not.
Queues use two ends of the structure; stacks use only one.
Stacks use two ends of the structure, queues use only one.
Question No: 10 ( Marks: 1 ) Please choose one
In the following C++ code, how many function calls are made?
int x, y, z;
x = 2;
y = 3 + x;
z = foobar(x,y);
1
4
7
8
Question No: 11 ( Marks: 1 ) Please choose one
Consider the following function:
void test_a(int n)
{
cout << n << " ";
if (n>0)
test_a(n2);
}
What is printed by the call test_a(4)?
4 2
0 2 4
0 2
2 4
Question No: 12 ( Marks: 1 ) Please choose one
Consider the following tree,
How many leaves does it have?
2
4
6
9
Question No: 13 ( Marks: 1 ) Please choose one
We access elements in AVL Tree in,
Linear way only
Non Linear way only
Both linear and non linear ways
None of the given options.
Question No: 14 ( Marks: 1 ) Please choose one
Consider the following statements.
(i)
A binary tree can contain at least 2
L
Nodes at level L.
(ii)
A complete binary tree of depth d is a binary tree that contains 2
L
Nodes at each
level L between 0 and d, both inclusive.
(iii)
The total number of nodes (T
n
) in a complete binary tree of depth d is 2
d+1
1 .
(iv)
The height of the complete binary tree can be written as h = log
2
(T
n
+1)1 where
T
n
is Total number of Nodes.
Which one of the following is correct in respect of the above statements regarding the Binary
trees?
(i) and (iii) only
(i), (ii) and (iii) only
(ii) and (iii) only
(ii), (iii) and (iv) only
Question No: 15 ( Marks: 1 ) Please choose one
The following is a segment of a C program.
int pqr(BinaryNode t)
{ if (t == null )
return 1;
else
return 1+max(pqr(t.left),pqr(t.right)) }
Identify, what the above program intend(s) to do?
Compute the height of a binary tree using an inorder traversal
Compute the height of a binary tree using a preorder traversal
Compute the depth of a binary tree using a preorder traversal
Compute the depth of a binary tree using a postorder traversal
Question No: 16 ( Marks: 1 ) Please choose one
Consider the following infix expression.
3*2 51
If one converts the above expression into postfix, what would be the resultant expression?
3 2 * 5 1 –
3 2 * 5 1
3 2 * 5 1
3 2 5 * 1
Question No: 17 ( Marks: 1 )
Briefly describe about the following operation of the List data structure,
Operation Name
Description
length()
Question No: 18 ( Marks: 1 )
Explain single left rotation in AVL tree.
Question No: 19 ( Marks: 2 )
Write the name of any two operations of the linked list that perform their operation in
more than one steps?
Question No: 20 ( Marks: 3 )
PQR * QRP+* is a postfix expression with the assumption P = 4, Q = 6 and R = 5.
If the above postfix expression is evaluated, then what will be the final stack value?
Question No: 21 ( Marks: 5 )
Consider the following class definition for a binary tree of integers.
class binTree {
public:
btnode* root; // root of the bintree
btnode* current; // current node in the bintree
binTree();
bool isEmpty();
int CountInterior(); //count the number of interior
nodes
};
class btnode {
friend binTree;
int value;
binTree left; // left subtree
binTree right; // right subtree
public:
btnode(int value); // Constructor
bool isLeaf(); // True if this node is a leaf; false
otherwise
};
Complete the C++ code for a recursive method called
CountInterior that returns the number of interior (non
leaf) nodes in a binary tree.
int bintree::CountInterior()
{
}
Question No: 22 ( Marks: 10 )
Briefly describe about the following operations of the List data structure,
Operation Name
Description
createList()
copy()
clear();
insert(X, ?)
remove(?)
get(?)
update(X, ?)
find(X)
length()
next()