Data Structures with C (06CS35)



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

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.

iii. Reverse a linked list (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)

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 Circular Doubly Linked List? (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)

7.

a. Write the algorithm for constructing a binary search tree .While constructing the tree, duplicates are not permitted. Trace the algorithm on input- 14,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)

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download