Bachelor of Computer Applications 3rd Semester
Data Structures
Time allowed: 3 Hours Max. Marks: 65
Attempt Five questions in all by selecting One question from each Sections A-D. Section E is
Note:
compulsory.
SECTION-A
(I) (a) What do you mean by an algorithm? What are the characteristics of a good algorithm? (8)
How do we determine the complexity of an algorithm? Explain.
(b) What are the major applications of data structures? Illustrate with live examples. (5)
(II) (a) Write down an algorithm to input the elements in a Two Dimensional (2D) array and
(8)
then display the count of only those elements of array which are divisible by 5.
(b) What is a stack? What kinds of problems are solved using stack data structure? Give (5)
examples.
o m
SECTION-B
(III) (a) .r c
Write down algorithms to insert elements into and delete elements from a circular linked
list.
p e m
(8)
(b)
o
What is a header linked list? What kinds of operations are performed on header linked
a (5)
p .r c
list? Discuss.
(IV) (a)
r
Write down algorithms to perform following operations on a Queue (implemented using
b
linear array):
e
(i)
(ii)
Insert an item
Delete an item.
a p (8)
(b)
from other types of linked lists? Describe,r p
What is a Doubly Linked List? How is it represented in memory? How does it differ
(5)
b
SECTION-C
(V) (a) What do you mean by Binary Tree? How is it represented in contiguous storage? Brief
out. Also show all the steps to construct a Binary tree for following sequence of nodes: (8)
7, 10, 3,6, 8, 4.
(b) How adjacency matrix is used to represent a graph in memory? Discuss. (5)
(VI) (a) What is a graph? What are various graph traversal techniques? Discuss them with the
help of following graph (Start from node A):
A D
(8)
B
E C
(b) What is a Binary Search Tree? What are different ways to traverse it? Briefly discuss (5)
SECTION-D
(VII) (a) Write down the algorithm of Binary search. How is Binary search more efficient than
(8)
Linear search? Explain with an example.
o m
.r c
(b) Draw a comparison between Selection sort and Bubble sort techniques. (5)
(VIII) (a) How Divide and Conquer technique is used to perform efficient sorting? Describe with
(8)
(b)
the help of Quick Sort.
p e m
List down the main steps followed to find a number with Linear search.
a o (5)
r p .r c
(IX) (a)
b SECTION-E (Compulsory)
What is push and pop in context of stacks?
p e (2)
(b) What are the limitations of arrays?
p a (2)
(c)
(d)
(e)
List any two applications of linked lists.r
How is circular queue different from a simple queue?
b
What do you mean by depth of a binary tree?
(2)
(2)
(2)
(f) Define the terms "Path" and "Cycle" in context of graphs. (2)
(g) What is the time complexity of Merge sort algorithm? (1)