Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

REGULATION 2022

(COMMON TO ECE, EEE, VLSI, ACT, BME BRANCHES)


CURRICULUM AND SYLLABI FOR SEMESTER II

L T P C
CS3211 DATA STRUCTURES USING C
3 0 2 4
COURSE OBJECTIVES:
1. To understand the basic concepts of linear data structures like arrays and linked lists.
2. To grasp the concept of stacks and queues as a linear data structure and the
operations upon them.
3. To understand the fundamental concepts of hierarchical Tree data structures.
4. To explore optimization strategies for indexing structures and graph algorithms.
5. To understand the concept of searching for quick data retrieval, sorting for
arranging data, and hash functions strategies for optimized data storage.

UNIT I LISTS (Blooms Learning Levels: L3 – Apply) 15

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 ADT – Radix Sort – Multilists.

Coding Exercises:
1. Write a C programs to implement single linked list ADT to perform following
operations.
a) insert an element into a list.
b) delete an element from list.
c) search for a key element in list.
d) count number of nodes in list.
2. Write a C programs to implement doubly linked list ADT to perform following
operations.
a) insert an element into a list at the end.
b) delete middle element from list.
c) print the element in reverse order.
3. Write a C programs to Perform Polynomial Addition using singly linked list.

Problems-solving Assignments:
1. Write a program to multiply every element of the linked list with 10.
2. Write a program to input an n digit number. Now, break this number into its individual
digits and then store every single digit in a separate node thereby forming a linked list. For
example, if you enter 12345, then there will 5 nodes in the list containing nodes with values
1, 2, 3, 4, 5.
UNIT II STACKS AND QUEUES (Blooms Learning Levels: L3 – Apply) 15
Stack ADT – Operations – Applications – Balancing Symbols – Evaluating arithmetic
expressions- Infix to Postfix conversion – Function Calls – Queue ADT – Operations – Circular
Queue – DeQueue – Applications of Queues.
Coding Exercises:
1. Write a C programs to implement a stack operations push, pop, top, and isEmpty
using a linked list.
2. Write a C programs to implement a queue operations enqueue, dequeue, front,
isEmpty using a linked list.
3. Write C programs to Convert Infix to Postfix Expression using Stack ADT.

Problems-solving Assignments:
1. Write a program to implement a stack that stores names of students in the class.
2. Write a program to implement a stack using a linked list
3. Write a program to create a queue which permits insertion at any vacant location at the
rear end.

UNIT III TREES (Blooms Learning Levels: L3 – Apply) 15

Tree ADT – Tree Traversals – Binary Tree ADT – Expression trees – Binary Search Tree
ADT – AVL Trees – Splay trees- Priority Queue (Heaps) – Binary Heap.

Coding Exercises:
1. Write a C programs to implement a binary search tree with the following operations:
a. Insert an element into a binary search tree.
b. Delete an element from a binary search tree.
c. Search for a key element in a binary search tree.
2. Write a C programs that use recursive functions to traverse the given binary tree.
a) Preorder b) inorder c) Postorder
3. Write C programs to implement an AVL Tree.

Problems-solving Assignments:
1. Write a C program for a Splay Tree for insertion and search operations.
2. Write a C program to implementation the insertion operation for a Red-Black Tree.
3. Write a C program a Max-Heap data structure operations insert(), extractMax(), and
getMax().

UNIT IV INDEXING AND GRAPHS (Blooms Learning Levels: L3 – Apply) 15

Indexing-B-Tree – B+ Tree. Graph Definition – Representation of Graphs – Types of Graphs


– Breadth-first traversal – Depth-first traversal – Bi-connectivity – Euler circuits – Topological
Sort – Dijkstra’s algorithm – Minimum Spanning Tree – Prim’s algorithm – Kruskal’salgorithm.

Coding Exercises:
1. Write a C program that demonstrates B-Tree operation insertion, search, and
display.
2. Write a C program for Dijkstra's single source shortest path algorithm.
3. Write a C program for Prim's Minimum Spanning Tree (MST) algorithm.
Problems-solving Assignments:
1. Write a C program that demonstrates Breadth-First Traversal (BFS) in a graph
using an adjacency list representation.
2. Write a C program that demonstrates topological sorting using Depth-First Search
(DFS) on a directed acyclic graph.
3. Write a C program that demonstrates Kruskal's algorithm for finding the Minimum
Spanning Tree (MST) of a graph.

UNIT V SEARCHING, SORTING AND HASHING TECHNIQUES 15


(Blooms Learning Levels: L3 – Apply)

Searching – Linear Search – Binary Search. Sorting – Bubble sort – Selection sort – Insertionsort
– Shell sort –. Merge Sort – Quick Sort. Hashing – Hash Functions – SeparateChaining
– Open Addressing – Rehashing – Extendible Hashing.

Coding Exercises:
1. Write a C programs to implement binary search using a recursive function.
2. Write a C program to implement the Insertion Sort algorithm.
3. Write a C program to implement the separate chaining technique in hashing.

Problems-solving Assignments:
1. Write a C program to implement the linear search algorithm using a non- recursive approach.
2. Write a C program to implement the Quick Sort algorithm.
3. Write a C program to implement a hash table with rehashing.

TOTAL (THEORY AND PRACTICAL) : 75(45+30) PERIODS


COURSE OUTCOMES:
Upon completion of the course, students will be able to:
CO1. Articulate linear data structures and legal operations permitted on them.
CO2. Implement stack and queue using array and linked list.
CO3. Articulate Tree data structures and legal operations permitted on them.
CO4. Understand the indexing and graph concepts and applications to solve different real-time
problems.
CO5. Apply a suitable algorithm for searching, sorting, and hashing.
TEXT BOOKS
1. Mark Allen Weiss, ―Data Structures and Algorithm Analysis in C, Second Edition,
Pearson Education, 1996
2. Ellis Horowitz, Sartaj Sahni, Susan Anderson-Freed, ―Fundamentals of Data Structures
in C, Second Edition, University Press, 2008.
3. Data Structures Using C-Aaron M. Tenenbaum, Yedidyah Langsam, Moshe Augenstein,
Pearson Education,2018.
REFERENCES:
1. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, ―Data Structures and
Algorithms, Pearson Education, 1983.
2. Robert Kruse, C.L.Tondo, Bruce Leung, Shashi Mogalla , ― Data Structures and
Program Design in C, Second Edition, Pearson Education, 2007
3. Jean-Paul Tremblay and Paul G. Sorenson, ―An Introduction to Data Structures with
Applications, Second Edition, Tata McGraw-Hill, 1991.

You might also like