C Programming and Data Structures

Unit- 1 (12 Lectures, Marks : 15)

C Programming Language: Introduction, Importance of C, Character set, Tokens, keywords, identifier,
constants, basic data types, variables: declaration & assigning values. Structure of C program
Arithmetic operators, relational operators, logical operators, assignment operators, increment and decrement
operators, conditional operators, bit wise operators, expressions and evaluation of expressions, type cast
operator, implicit conversions, precedence of operators. Arrays-concepts, declaration, accessing elements,
storing elements, two-dimensional and multi-dimensional arrays. Input output statement and library functions
(math and string related functions).

Unit-2 (20 Lectures, Marks : 25)

Decision making, branching & looping: Decision making, branching and looping: if, if-else, else-if, switch
statement, break, for loop, while loop and do loop. Functions: Defining functions, function arguments and
passing, returning values from functions.
Structures: defining and declaring a structure variables, accessing structure members, initializing a structure,
copying and comparing structure variables, array of structures, arrays within structures, structures within
structures, structures and functions. Pointers.
Introduction to C++: Object oriented programming, characteristics of an object-oriented language.

Unit-3 (14 Lectures, Marks : 20)

Data Structures: Definition of stack, array implementation of stack, conversion of infix expression to prefix,
postfix expressions, evaluation of postfix expression. Definition of Queue, Circular queues, Array
implementation of queues. Linked List and its implementation, Link list implementation of stack and queue,
Circular and doubly linked list.

Unit-4 (14 Lectures, Marks : 20)

Searching and sorting: Insertion sort, selection sort, bubble sort, merge sort, linear Search, binary search.
Trees : Introduction to trees, Binary search tree, Insertion and searching in a BST, preorder, postorder and
inorder traversal (recursive)

Suggested Books:

1. Yashavant Kanetkar, Let Us C , BPB Publications
2. Programming in ANSI C, Balagurusamy, 2nd edition, TMH.
3. Byron S Gottfried, Programming with C , Schaum Series
4. Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Prentice Hall
5. Yashavant Kanetkar, Pointers in C, BPB Publications
6. S. Sahni and E. Horowitz, “Data Structures”, Galgotia Publications
7. Tanenbaum: “Data Structures using C”, Pearson/PHI.
8. Ellis Horowitz and Sartaz Sahani “Fundamentals of Computer Algorithms”, Computer Science Press.

C Programming and Data Structures Lab

1. Generate the Fibonacci series up to the given limit N and also print the number of elements in the
series.
2. Find minimum and maximum of N numbers.
3. Find the GCD of two integer numbers.
4. Calculate factorial of a given number.
5. Find all the roots of a quadratic equation Ax2
 + Bx + C = 0 for non – zero coefficients A, B and C.
Else report error.
6. Calculate the value of sin (x) and cos (x) using the series. Also print sin (x) and cos (x) value using
library function.
7. Generate and print prime numbers up to an integer N.
8. Sort given N numbers in ascending order.
9. Find the sum & difference of two matrices of order MxN and PxQ.
10. Find the product of two matrices of order MxN and PxQ.
11. Find the transpose of given MxN matrix.
12. Find the sum of principle and secondary diagonal elements of the given MxN matrix.
13. Calculate the subject wise and student wise totals and store them as a part of the structure.
14. Maintain an account of a customer using classes.
15. Implement linear and circular linked lists using single and double pointers.
16. Create a stack and perform Pop, Push, Traverse operations on the stack using Linear Linked list
17. Create circular linked list having information about a college and perform Insertion at front, Deletion
at end.
18. Create a Linear Queue using Linked List and implement different operations such as Insert, Delete,
and Display the queue elements.
19. Implement polynomial addition and subtraction using linked lists.
20. Implement sparse matrices using arrays and linked lists.
21. Create a Binary Tree to perform Tree traversals (Preorder, Postorder, Inorder) using the concept of
recursion.
22. Implement binary search tree using linked lists. Compare its time complexity over that of linear
search.
23. Implement Insertion sort, Merge sort, Bubble sort, Selection sort. 

No comments:

Post a Comment