www.bookspar.com | Website for students | VTU NOTES
Data Structures with C (06CS35)
Model question paper 1
1.
a. Explain different ways of passing parameters to a function. Write a program using
pointer to pass an array to a function to find the smallest of n numbers. (10 marks)
b. What is the output of the following?
int X[3][5]={
{1, 2, 3, 4, 5},
{11, 12, 13, 14, 15}
}
*n=&X;
i.
*(*(X+2) +1)
ii.
*(*(X+1))
iii.
*n
iv.
*(n+2)
v.
*(*(X)+2)+1
(10 marks)
2.
a. Write C function to implement the following
i. To copy n characters of string to one another
ii. To compare n characters of two strings
iii. To concatenate two strings
iv. To find length of string.
(8 marks)
b. Difference between structure and union. Also state the difference between structure
and array.
(6 marks)
c. Write a program to print the no of consonants, vowels, digits and special characters
stored in a specific file.
(6 marks)
3.
a. Discuss various exceptional conditions that should be handled while using stacks.
(6marks)
b. Write an algorithm for converting an infix expression to postfix. Trace the algorithm
indicating the contents of stack for the expression ((A-(B+C))*(D\$(E+F) (10 marks)
c. Convert infix to postfix and prefix ((a-(b+c))*d\$(e+f)
(4 marks)
4.
a. What is recursion? Illustrate with an example, what are the disadvantages of
recursion? With a neat stack trace, explain the working of recursive Fibonacci program.
(12 marks)
b. A circular queue of size 5 contains three elements- 20,40,60 with front =1 and rear=3.
Show with necessary diagrams, what is the value of front and rear after each of these
operations.
i. Insert 50
ii. Insert 90
iii.Insert 30
www.bookspar.com | Website for students | VTU NOTES
www.bookspar.com | Website for students | VTU NOTES
iv.Delete
v. delete
vi.Insert 70
(8 marks)
5.
a. What are linked lists? How do they compare with arrays? Give their relative merits of
both when certain operations are carried out.
(6 marks)
b. Write C functions to
i. Insert an item in an ordered linked list
ii. To delete a specified item.
(14 marks)
6.
a. Discuss the necessity of circular linked lists. Implement a stack using CLL.
(12 marks)
b. Write a program to check if a string is a palindrome or not using DLL. (8 marks)
7.
a. Why is tree called a nonlinear data structure. Define the following?
i. Binary tree.
ii. Complete binary tree.
iii. Height of a binary tree.
(6 marks)
b. Construct the binary tree given the following traversals.
Inorder : E A C K F H D B G
Preorder: F A E K C D H G B
(8 marks)
c. How is binary tree represented using array? Illustrate with an example and hence
define
i. child
ii. Siblings
iii. Ancestor
iv. Descendents
(6 marks)
8.
a. What is a threaded binary tree? Give the structure of a right-in Threaded binary tree
and its implementation in C for inorder traversal.
(10 marks)
b . Construct a binary search tree to find
i.
The maximum and minimum element in the tree.
ii.
To count the no of terminal and nonterminal nodes. (10 marks)
Data Structures with C (06CS35)
www.bookspar.com | Website for students | VTU NOTES
www.bookspar.com | Website for students | VTU NOTES
Model question paper 2
1.
a. Explain the different memory allocation functions available in C. Develop a program
to determine the sum of positive and negative numbers on an integer array of size 5 using
dynamic memory allocation. (10 marks)
b. Explain with example lvalue and rvalue expressions (5 marks)
c. A C program contains the following
Static int x[8] = {10, 20, 30. 40, 50, 60, 70, 80};
What is the output of i) x+2 ii) &x +2 iii) &(x +2) iv) *x+4 v) *(x+(*x+2))
(5 marks)
2.
a. Write a C program to check whether two words are anagrams? ((8 marks)
b. Define Structures. Give an example of nested structures. (6 marks)
c. Write a C program to merge two files of integers to produce third file. (6 marks)
3.
a. Give a suitable algorithm to ensure that parenthesis are nested properly for the example
{X + (Y – [A+B]) * C-[(D+E)]}.Also trace the algorithm for the example.
(12 marks)
b. Implement two stacks using a single array and also indicate the appropriate exception
conditions.
(8 marks)
4.
a. What is priority queue? Differentiate between ordinary queue and priority queue.
(8 marks)
b. Write a recursive function to search for a key item using linear search. (6 marks)
c. Explain the efficiency of recursion
(6 marks)
5.
a. Explain the array implementations of lists and what are its limitations?
(10 marks)
b. Write a C function to
i. delete all occurrences of a given key item in Singly Linked List.
ii. Search an element in Singly Linked List
(10 marks)
6.
a. What are Header nodes? How do header nodes help to simplify the operation of
(6 marks)
b. Write C function to implement the following in a Doubly Linked List.
i. Insert a node at the specified location.
ii. Delete a node from the specified location.
iii. Display the list in the forward and backward direction.
(14 marks)
www.bookspar.com | Website for students | VTU NOTES
www.bookspar.com | Website for students | VTU NOTES
7.
a. Write the algorithm for constructing a binary search tree .While constructing the tree,
duplicates are not permitted. Trace the algorithm on input14,15,4,9,7,18,3,5,16,4,20,17,9,14,5.
(10 marks)
b. Write the algorithms for various tree traversal methods with examples. (10 marks)
8.
a. Write a function to delete a node from BST considering all three cases. (10 marks)
b. What is an expression tree? Write a program to evaluate an expression tree.
(10 marks)
www.bookspar.com | Website for students | VTU NOTES