Data Structure Exam Model Answers
Data Structure Exam Model Answers
Winter – 19 EXAMINATION
Subject Name: Data Structure Using ‘C’ Model Answer Subject Code: 22317
Important Instructions to examiners:
1) The answers should be examined by key words and not as word-to-word as given
in the model answer scheme.
2) The model answer and the answer written by candidate may vary but the examiner
may try to assess the understanding level of the candidate.
3) The language errors such as grammatical, spelling errors should not be given more
Importance (Not applicable for subject English and Communication Skills.
4) While assessing figures, examiner may give credit for principal components
indicated in the figure. The figures drawn by candidate and model answer may
vary. The examiner may give credit for any equivalent figure drawn.
5) Credits may be given step wise for numerical problems. In some cases, the
assumed constant values may vary and there may be some difference in the
candidate’s answers and model answer.
6) In case of some questions credit may be given by judgement on part of examiner
of relevant answer based on candidate’s understanding.
7) For programming language papers, credit may be given to any other program
based on equivalent concept.
1|28
Made with Xodo PDF Reader and Editor
c Define the following term w.r.t. tree: (i) In-degree (ii) out-degree. 2M
Ans In -degree: Number of edges coming towards node is in-degree of node. 1 M for each
correct
For e.g. : In degree of node B is 1 definition
Out -degree: Number of edges going out from node is out -degree of node.
For e.g. Out Degree of is node D is 2
2|28
Made with Xodo PDF Reader and Editor
2 2 4, 2
3 ^ 16
4 3 16, 3
5 * 48
6 3 48,3
7 - 45
8 8 45,8
9 4 45,8,4
10 / 45,2
11 + 47
3|28
Made with Xodo PDF Reader and Editor
Undirected Graph :
An undirected graph G is a graph in which each edge e is not assigned a
direction.
A B
D C
Ans 2 M for
diagram
4|28
Made with Xodo PDF Reader and Editor
APPLICATIONS OF QUEUES
1. Round Robin Technique for processor scheduling is implemented using
queues.
2. All types of customer service (like railway ticket reservation) center
software’s are designed using queues to store customer's information.
3. Printer server routines are designed using queues. A number of users
share a printer using printer server (a dedicated computer to which a printer
is connected), the printer server then spools all the jobs from all the users,
to the server’s hard disk in a queue. From here jobs are printed one-by-one
according to their number in the queue.
0641,3851,0014,0074,0348
Pass 2:
0 1 2 3 4 5 6 7 8 9
0641 0641
3851
3851
0014 0014
0074 0074
0348 0348
5|28
Made with Xodo PDF Reader and Editor
0014,0641,0348,3851,0074
Pass 3:
0 1 2 3 4 5 6 7 8 9
0014 0014
0641 0641
0348 0348
3851 3851
0074 0074
0014,0074,0348,0641,3851
Pass 4:
0 1 2 3 4 5 6 7 8 9
0014 0014
0074 0074
0348 0348
0641 0641
3851 3851
6|28
Made with Xodo PDF Reader and Editor
End if
2. set Ptr->num = item
3. set Ptr->next=start
4. set start=Ptr
7|28
Made with Xodo PDF Reader and Editor
elements are deleted from the queue, new elements cannot be added
in their place in the queue, i.e. the position cannot be reused. After
rear reaches the last position, i.e. MAX-1 in order to reuse the vacant
positions, we can bring rear back to the 0th position, if it is empty,
and continue incrementing rear in same manner as earlier.
Thus rear will have to be incremented circularly. For deletion, front
will also have to be incremented circularly.
Rear can be incremented circularly by the following code. If ((rear
== MAX-1) and (front !=0) Rear =0; Else Rear= rear +1; Example:
Assuming that the queue contains three elements.
8|28
Made with Xodo PDF Reader and Editor
9|28
Made with Xodo PDF Reader and Editor
10 | 2 8
Made with Xodo PDF Reader and Editor
Algorithm A: - a=a+1
Algorithm B: - for x = 1 to n step 1
a=a+1
Loop
Algorithm C:- for x=1 to n step 1
for y=1 to n step 1
a=a+1
Loop
Frequency count for algorithm A is 1 as a=a+1 statement will execute only
once. Frequency count for algorithm B is n as a=a+1 is key statement
executes n time as the loop runs n times.
Frequency count for algorithm C is n as a=a+1 is key statement executes n2
time as the inner loop runs n times, each time the outer loop runs and the
outer loop also runs for n times.
Space complexity:- Space complexity of a program/algorithm is the amount
of memory that it needs to run to completion. The space needed by the
program is the sum of the following components:-
Fixed space requirements: - It includes space for instructions, for simple
variables, fixed size structured variables and constants.
Variable time requirements: - It consists of space needed by structured
variables whose size depends on particular instance of variables. Example: -
additional space required when function uses recursion.
b Convert the following infix expression to postfix expression using stack 4M
and show the details of stack in each step.((A+B)*D)^(E-F)
Ans Correct
answer-4M
infix expression:
(((A+B)*D)^(E-F))
11 | 2 8
Made with Xodo PDF Reader and Editor
( (( Empty
( ((( Empty
A ((( A
+ (((+ A
B (((+ AB
) (( AB+
* ((* AB+
D ((* AB+D
) ( AB+D*
^ (^ AB+D*
( (^( AB+D*
E (^( AB+D*E
- (^(- AB+D*E
F (^(- AB+D*EF
) (^ AB+D*EF-
) EMPTY AB+D*EF-^
STACK
12 | 2 8
Made with Xodo PDF Reader and Editor
for(i=0;i<n-1;i++)
{
if (key == a[i])
{
c=1;
printf (“%d is found at location %d\n”, key, i+1);
break;
}
}
if (c==0)
printf (“%d not present in the list\n”,key);
getch();
}
d Draw an expression tree for the following expression: 4M
(a-2b+5e) 2 * (4d=6e) 5.
Ans Correct
Expression
tree-4M
13 | 2 8
Made with Xodo PDF Reader and Editor
11 5 21 3 29 17 2 45
Sorted Array for input:
2 3 5 11 17 21 29 45
Key element to be searched=21
Step1
0 1 2 3 4 5 6 7
2 3 5 11 17 21 29 45
mid=(l+u)/2 = 7/2 = 3
14 | 2 8
Made with Xodo PDF Reader and Editor
l=4 and u =7
mid= 11/2 = 5
15 | 2 8
Made with Xodo PDF Reader and Editor
Start
21 NULL
Start traversing linked list from start till last node of linked list and then add a new node
Start
21 25 NULL
Start
21 25 96 NULL
Start
21 25 96 58 NULL
Start
21 25 96 58 74 NULL
d Show the effect of PUSH and POP operation on the stack of size 10. 4M
PUSH(10)
PUSH(20)
16 | 2 8
Made with Xodo PDF Reader and Editor
POP
PUSH(30)
Ans Initial Stack empty Each correct
step-1M
stack[9]
stack[8]
stack[7]
stack[6]
stack[5]
stack[4]
stack[3]
stack[2]
stack[1]
stack[0] top= -1
Step 1:
PUSH(0)
top=top+1 stack[0]=10
stack[9]
stack[8]
stack[7]
stack[6]
stack[5]
stack[4]
stack[3]
stack[2]
stack[1]
10 stack[0] top=0
Step 2:
PUSH(0)
top=top+1 stack[1]=20
stack[9]
stack[8]
stack[7]
stack[6]
stack[5]
stack[4]
stack[3]
stack[2]
20 stack[1] top=1
10 stack[0]
Step 3:
POP
17 | 2 8
Made with Xodo PDF Reader and Editor
top=top-1 20 is deleted
stack[9]
stack[8]
stack[7]
stack[6]
stack[5]
stack[4]
stack[3]
stack[2]
stack[1]
10 stack[0] top=0
Step 4:
PUSH(0)
top=top+1 stack[1]=30
stack[9]
stack[8]
stack[7]
stack[6]
stack[5]
stack[4]
stack[3]
stack[2]
30 stack[1] top=1
10 stack[0]
18 | 2 8
Made with Xodo PDF Reader and Editor
19 | 2 8
Made with Xodo PDF Reader and Editor
20 | 2 8
Made with Xodo PDF Reader and Editor
break;
}
rear=rear+1;
a[rear]=no;
if(front==-1)
front=0;
break;
case 2:
if(front==-1)
{
printf ("\n QUEUE IS EMPTY.");
break;
}
no=a[front];
printf("\n DELETED ELEMENT IS:- %d",no);
if(front==rear)
front=rear=-1;
else
front=front+1;
break;
case 3:
exit(0);
}
printf("\n\n DO YOU WANT TO CONTINUE:(1 FOR YES/2 FOR NO):-");
scanf("%d",&ch);
}while(ch==1);
getch();
}
b Consider the graph given in following figure and answer given 6M
questions.
21 | 2 8
Made with Xodo PDF Reader and Editor
Node Adjacent
nodes
1 2,3
2 5
3 2,4
4 NIL
5 3
22 | 2 8
Made with Xodo PDF Reader and Editor
Representation:
23 | 2 8
Made with Xodo PDF Reader and Editor
24 | 2 8
Made with Xodo PDF Reader and Editor
Pass 3
Pass 4
Pass 5
Pass 6
25 | 2 8
Made with Xodo PDF Reader and Editor
In the above diagram, first column shows result of push operation after each
26 | 2 8
Made with Xodo PDF Reader and Editor
recursive call execution. Next columns shows result of pop operation for
calculating factorial.
c Show with suitable diagrams how to delete a node from singly linked list 6M
at the beginning, in between and at the end of the list.
Ans In a linear linked list, a node can be deleted from the beginning of list, from Diagram for
in between positions and from end of the list. beginning-
2M, end-2M,
Delete a node from the beginning:- inbetween-2M
27 | 2 8
Made with Xodo PDF Reader and Editor
Node to be deleted is node [Link] a temporary node as ‘temp’ and ‘q’. Set
‘temp’ node with the address of first node. Traverse the list up to the second
last node and mark the last node as ‘q’. Store NULL value in address field of
‘temp’ node and then delete ‘q’ pointer with free function. Deleting q pointer
deletes the last node from the list.
28 | 2 8