CS6202 PROGRAMMING AND DATA STRUCTURES I
OBJECTIVES:
The student should be made to:
· Be familiar with the basics of C programming language.
· Be exposed to the concepts of ADTs
· Learn linear data structures – list, stack, and queue.
· Be exposed to sorting, searching, hashing algorithms
UNIT I C PROGRAMMING FUNDAMENTALS- A REVIEW
Conditional statements – Control statements – Functions – Arrays – Preprocessor - Pointers - Variation in pointer declarations – Function Pointers – Function with Variable number of arguments
UNIT II C PROGRAMMING ADVANCED FEATURES
Structures and Unions - File handling concepts – File read – write – binary and Stdio - File Manipulations
UNIT III LINEAR DATA STRUCTURES – LIST
Abstract Data Types (ADTs) – List ADT – array-based implementation – linked list implementation –– singly linked lists- circularly linked lists- doubly-linked lists – applications of lists –Polynomial Manipulation – All operation (Insertion, Deletion, Merge, Traversal)
UNIT IV LINEAR DATA STRUCTURES – STACKS, QUEUES
Stack ADT – Evaluating arithmetic expressions- other applications- Queue ADT – circular queue implementation – Double ended Queues – applications of queues
UNIT V SORTING, SEARCHING AND HASH TECHNIQUES
Sorting algorithms: Insertion sort - Selection sort - Shell sort - Bubble sort - Quick sort - Merge sort - Radix sort – Searching: Linear search –Binary Search Hashing: Hash Functions – Separate Chaining – Open Addressing – Rehashing – Extendible Hashing.
OUTCOMES
At the end of the course, the student should be able to:
· Use the control structures of C appropriately for problems.
· Implement abstract data types for linear data structures.
· Apply the different linear data structures to problem solutions.
· Critically analyse the various algorithms.
TEXT BOOKS
1. Brian W. Kernighan and Dennis M. Ritchie, “The C Programming Language”, 2nd Edition, Pearson Education, 1988.
2. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C”, 2nd Edition, Pearson Education, 1997.
REFERENCES:
1. Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, Clifford Stein, “Introduction to Algorithms", Second Edition, Mcgraw Hill, 2002.
2. Reema Thareja, “Data Structures Using C”, Oxford University Press, 2011
3. Aho, Hopcroft and Ullman, “Data Structures and Algorithms”, Pearson Education,1983.
4. Stephen G. Kochan, “Programming in C”, 3rd edition, Pearson Ed.,