CS301 Solved Subjective Questions
CS301 Solved Subjective Questions
net
» » Regards » »
VUSTUDENTS.NET TEAM.
Virtual University of Pakistan
Question No:2
difference between call by value n call by reference (2 marks)
Answer:- (Page 202)
In case of call by value, a copy of object is made and placed at the time of function calling in the activation
record. By using the references, we are not making the copy but send the address of the variable that function
can use the original value.
Question No:3
heap and two types of heap(3)
Answer:- (Page 333 )
Heap is a data structure of big use and benefit. It is used in priority queue. ―The definition of heap is that it is a
complete binary tree that conforms to the heap order‖. Here heap order means the min and max heap. Max
heap: In max heap, each node has a value greater than the value of its left and right child nodes. Moreover, the
value of the root will be largest and will become lesser at downward levels. Min heap: in a (min) heap for
every node X, the key in the parent is smaller than (or equal to) the key in X. This means that the value in the
parent node is less than the value on its children nodes.
Question No:4
height of a tree is 5 find sum of heights (2)
Answer:-
Height = 5
Question No: 5
Here is an array with exactly 15 elements:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15.
Suppose that we are doing a binary search for an element. Indicate any elements that will be found by
examining two or fewer numbers from the array. (Marks: 5)
rather; 1, 2, 3, 4, 6, 8, 14, 15
1 and 15 for heads and tails
2, and 14 for next elements (following or preceding)
1/2 of 15 is either 6, or 8, from 7.5
and 1/2 of 6 = 3
1/2 8 = 4
Note: - I am not sure about answer; I feel Question logic is not clear.
( Marks: 10 )
Write down the C++ code to implement insertion sort algorithm.
Answer:- (Page 483)
Following is the code of the insertion sort in C++.
void insertionSort(int *arr, int N)
{
int pos, count, val;
for(count=1; count < N; count++)
{
val = arr[count];
for(pos=count-1; pos >= 0; pos--)
if (arr[pos] > val)
arr[pos+1]=arr[pos];
else break;
arr[pos+1] = val;
Q2. What is Table ADT? Discuss any two implementations of table ADT. ( Marks: 5)
Answer:- (Page 427, 428)
The table, an abstract data type, is a collection of rows and columns of information.
Implementation of Table
o Unsorted Sequential Array
o Sorted Sequential Array
Question No: 3
Suppose we have the following representation for a complete Binary Search Tree, tell the Left and Right
child nodes and Parent node of the node D ( Marks: 5)
A B C D E F G H I J K L M N O P Q R S T …
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 …
Answer:-
parent: B using formula(i/2)
left child:-H 2i=2*4=8=H
Right child:-I 2i+1=8+1=9=I
Question No: 4
.Consider the following max heap. Add node 24 in it and show the resultant Heap. ( Marks: 3 )
127
24 25
20 7 3
13
Answer:-
5 3 8 9 1 7 0 2 6 4
st
1 step 0 3 8 9 1 7 5 2 6 4
2nd step 0 1 8 9 3 7 5 2 6 4
3rd step 0 1 2 9 3 7 5 8 6 4
4th step 0 1 2 3 9 7 5 8 6 4
5th step 0 1 2 3 4 7 5 8 6 9
6th step 0 1 2 3 4 5 7 8 6 9
7th step 0 1 2 3 4 5 6 8 7 9
8th step 0 1 2 3 4 5 6 7 8 9
5 3 8 9 1 7 0 2 6 4
st
1 step 3 5 8 9 1 7 0 2 6 4
2nd step 1 3 5 8 9 7 0 2 6 4
3rd step 1 3 5 7 8 9 0 2 6 4
4th step 0 1 3 5 7 8 9 2 6 4
5th step 0 1 2 3 5 7 8 9 6 4
6th step 0 1 2 3 5 6 7 8 9 4
7th step 0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J K L M N O P Q R S T …
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 …
Answer: - Repeated
Collision:
When two values hash to the same array location, this is called a collision..
Linear Probing
When there is a collision, some other location in the array is found. This is known as linear probing. In linear
probing, at the time of collisions, we add one to the index and check that location. If it is also not empty, we
add 2 and check that position. Suppose we keep on incrementing the array index and reach at the end of the
table. We were unable to find the space and reached the last location of the array.
Quadratic Probing
In the quadratic probing when a collision happens we try to find the empty location at index + 1^2. If it is filled
then we add 2^2 and so on.
Quadratic probing uses different formula:
1.
Use F(i) = i2 (square of i) to resolve collisions
2. If hash function resolves to H and a search in cell H is inconclusive, try
H + 12, H + 22, H + 32
100 19 36 17 3 25 1 2 7
20
25
2 13 3
7
Answer: - Repeated
original array 6 5 3 9 1 2 10 8 -
Answer(page 334)
Min heap
5 2
8 6 3 10
Heapified array 1 5 2 8 6 3 10 9
Answer:-
5 3 8 9 1 7 0 2 6 4
st
1 step 5 3 8 9 1 7 0 2 6 4
2nd step 3 5 8 9 1 7 0 2 4 6
3rd step 3 5 8 9 1 7 0 2 4 6
4th step 1 3 8 5 9 2 6 7 0 4
5th step 1 3 8 5 9 2 6 7 0 4
6th step 1 2 3 6 7 8 0 5 4 9
{1,2,3,4, 5}:
1 2 3 4 5
union(4,2)
union(3,1)
union(5,4)
union(5,3)
Show the result when the unions are performed
Answer: (Page 396 to398)
4
2 5
Which of the following statement is correct about the above two cases.
1) The insertion occurs outside (i.e., right to left or left to right) in the above two cases, single rotation can fix
the balance in these two cases.
2) The insertion occurs inside ((i.e., right to left or left to right) in these two cases, single rotation cannot fix the
balance in these two cases.
Answer: (page 230)
Insertion occurs on the inside in cases 2 and 3 which a single rotation cannot fix.
Answer:-
A B C D E
7 9
6 9
8 7 1 1 8 12 13
2 3
Pass two:-
32 27 51 66 23 13 57 85
Step1 32 27 51 66 23 13 57 85
Step2 27 32 51 66 23 13 57 85
Step3 32 27 66 23 66 13 57 85
Step4 32 27 66 23 13 66 57 85
Step5 32 27 66 23 13 57 66 85
Step6 32 27 66 23 13 57 66 85
FINALTERM EXAMINATION
Fall 2009
Answer:- repeat
original min-heap 1 3 2 5 4 8 9 10 7
and show the resultant heap in the form of array as shown below,
Answer:- repeat
-15 -5 0 7 13 16 27 30 42
0 1 2 3 4 5 6 7 8
low high mid
Starting from the low which is -15.now compare the -5 form the next index which is at position 1.
-15 -5 0 7 13 16 27 30 42
0 1 2 3 4 5 6 7 8
low high mid
-15 -5 0 7 13 16 27 30 42
0 1 2 3 4 5 6 7 8
low high mid
Union(1,2)
Union(3,4)
Union(3,5)
Union(1,7)
Union(3,6)
Union(8,9)
Union(1,8)
Union(3,10)
Union(3,11)
Union(3,12)
Union(3,13)
Union(14,15)
Union(16,17)
Union(14,16)
Union(1,3)
Union(1,14)
When the unions are performed by height
Note: You have to show only Final tree, No need to show all steps.
Answer:-
Solve it yourself; take help from previous same question that I have solved in page 12 of this file.
FINALTERM EXAMINATION
Fall 2009
Answer:-
C. The algorithm is not selection sort, but it might be insertion sort. (Correct)
Though the original tree was balanced, more than one rotation is needed to restore balance following the insertion.
3-examples of hashing.
Answer:- repeat
8-explain and write the code for union and find operation of parent array in disjoint sets.
Answer:- (page 399)
Find ( i )
This loop is used to find the parent of an element or the name of the set that contains that element.
Union ( i, j )
Now let‘s see the code for the function of union. Here we pass two elements to the function union. The union
finds the roots of i and j. If i and j are disjoint sets, it will merge them. Following is the code of this function.
root_i = find(i);
root_j = find(j);
if (root_i != root_j)
parent[root_j] = root_i;
In the code, we see that at first it finds the root of tree in which i exists by the find(i) method and similarly finds
the root of the set containing j by find(j). Then there is a check in if statement to see whether these sets (roots) are
same or not. If these are not the same, it merges them in such a fashion that the root i is set as the parent of root j.
Thus, in the array where the value of root j exists, the value of root i becomes there.
Question No:1
How we can implement Table ADT using Linked List (marks 2)
Answer: - repeat
Question No:2
which three basic operations are performed on AVL trees (mark 3)
Answer:- (page 457)
Insert
Delete
search
Question No:3
write down the c++ code to implement insertion sort algorithm (5)
Answer: - repeat
Question No:5
Here is an array of ten integers:
5389170264
Draw this array after the FIRST iteration of the large loop in an insertion sort (sorting from smallest to
largest). This iteration has shifted at least one item in the array! (marks 3)
Answer: - repeat
Question No: 1
For smaller list linear insertion sort is perform well but for large list Quick sort suitable to apply/justify
why????????
Answer:-
Since for smaller lists number of comparisons and interchange (if needed) decreases radically in insertion sort
than quick sort. For larger lists, opposite occurs in both sorting techniques.
Question No: 2
Here is a array of exactly 15 elements
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Suppose that we are doing a binary search for an elemnt .Indicate any element that will be found by
examining two or fewer number from the array (5 mrks)
Answer:- repeat
Question No: 3
Write the applications of heap.
Answer:- (page 84)
The stack and heap are used in function calls. When we allocate memory dynamically in our programs, it is
allocated from the heap. The use of priority queue with the help of heap is a major application. The priority queue is
itself a major data structure, much-used in operating systems. Similarly priority queue data structure is used in
network devices especially in routers. Heap data structure is also employed in sorting algorithms.
Question No: 4
Write down the c++ code for selection sort (5 marks)
Answer: - repeat
Question No: 5
Write the application of binary search tree
Answer: - (page 369)
The searching and sorting operations are very common in computer science with the help of binary search tree.
Question No: 7
Heapify the elements of the following array (reading from left to right ) into a Min Heap and show that
Min Heap contents in the form of array as shown below,
original array 6 5 3 9 1 2 10 8 -
Answer: - repeat
Question No: 8
Represent the following binary tree in array
B C
D E
Answer: - repeat
Question No: 1
Write the any two operation of linked list that perform their function in one step. 2Marks
Answer: - (page 38)
Add
Remove
Find
Question No: 2
Represent the following binary tree in array. 2Marks
B C
D E
Answer: - repeat
Question No: 4
Give the table name that that we can on table abstract data type. 3mark
Question No: 5
Explain the process of Deletion in a Min-Heap 3 Marks
Answer: - repeat
Question No: 6
What is skip list? 3 Marks
Answer: - repeat
Question No: 7
What we can conclude from the running time array of disjoint set. 5 Marks
Answer: - repeat
Question No: 8
77, 33,44,11,88,22,66,55 sort the following array using insertion algorithm. 5 Marks
Answer: - See the same solution above
Question No: 9
What is disjoint set? 5 Marks
Answer: - repeat
Question No: 10
Suppose we have the following representation for a complete Binary Search Tree, tell the Left and Right
child nodes and Parent node of the node D ( Marks: 5)
A B C D E F G H I J K L M N O P Q R S T …
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 …
Answer: - repeat
4. Convert this tree representation of a heap into the corresponding array representation.
(2)
100
36
19
1
17 3 25
2 7
Answer: - repeat
6. Which implementation of disjoint set is better with respect space and why? (3)
Answer: - repeat
7. Consider the following Min Heap apply operation delMin on it and show resultant Heap.
(3)
Answer: - repeat
10. Consider the following Binary tree and Delete the key 29, 35, 75 and 60 only. Show the
resultant tree after deleting these keys. (5)
25 60
75
15 35
68 87
29 40
81 99
63
83
Answer:-
50
25 63
81
15 40
68 87
83 99
11. Suppose we have the following representation for a complete Binary Search Tree, tell the
Left and Right child nodes and Parent node of the Node D
A B C D E F G H I J K L M N O P Q R S T …
0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 …
0 1 2 3 4 5 6 7 8 9 0
Answer: - repeat
1) For a perfect binary tree of height 5, what will be the sum of heights of nodes? 2marks
Answer: - repeat
6) “is a sibling of” set of all human beings is equivalence relation or not? Explain.
Answer: (Page 387)
Yes it is an equivalence relation
First rule is reflexive i.e. for all element x �S, x R x. Suppose that x is Haris so Haris R Haris. This is true because
everyone is related to each other. Second is Symmetry: for all elements x and y, x R y if and only if y R x. Suppose
that y is Saad. According to the rule, Haris R Saad if and only if Saad R Haris. If two persons are related, the
relationship is symmetric i.e. if I am cousin of someone so is he. Therefore if Haris is brother of Saad, then Saad is
certainly the brother of Haris. The family relationship is symmetric. This is not the symmetric in terms of respect but
in terms of relationship. The transitivity is: ‗for all elements x, y and z. If x R y and y R z, then x R z‘. Suppose x is
Haris, y is Saad and z is Ahmed. If Haris ―is related to‖ Saad, Saad ―is related to‖ Ahmed. We can deduce that Haris
―is related to‖ Ahmed. This is also true in relationships. If you are cousin of someone, the cousin of that person is
also related to you. He may not be your first cousin but is related to you.
7) Linked memory
(Answer: Page 18)
Linked memory is a memory in which the various cells of memory are not located continuously. In this process,
each cell of the memory not only contains the value of the element but also the information where the next element
of the list is residing in the memory. It is not necessary that the next element is at the next location in the memory. It
may be anywhere in the memory. We have to keep a track of it.
Thus, in this way, the first element must explicitly have the information about the location of the second element.
8) 3 5 9 8 1 7 0 2 6 4 , draw after the 1st iteration of large loop in a selection sort (smallest to largest)
Answer: - repeat
10) Code for removing an element from a linked list data structure if it is implementation by using linked
memory methods.
Answer: Page 34
void remove() {
if( currentNode != NULL && currentNode != headNode) {
lastCurrentNode->setNext(currentNode->getNext());
delete currentNode;
currentNode = lastCurrentNode->getNext();
size--;
}
};