204184: Data Structures and Algorithms
Teaching Scheme: Examination Scheme:
Lectures: 4 Hrs/Week TheoryPaper: 50 Marks
Practical: 2 Hrs/Week Online: 50 Marks
Oral: 50 Marks
Credits: 5
SR.NO TOPIC REFERENCE BOOK
UNIT I: Introduction to C and Algorithm
1.1 Constants, variables and keywords in C, R2 (25-30)
Operators and control structure in c (decision, R2 (52-61, 114-189)
loop and case),
macros, R2 (445-449)
Arrays and string manipulation, R2 (190-209) R2 (229-
Structure, union, 250)
Enumeration, bitwise operations, R2 (317-337)
Functions: Parameter passing call by value and R2(61)
call by reference, scope rules, R2 (262-295)
functions and pointers, function returning
pointer, pointer to function,
R2 (351-378)
1.2 String manipulations using Arrays, pointer to R2 (229-250)
pointer,
Dynamic memory management. R2(411-420)
1.3 Analysis of algorithm:
frequency count and its importance in analysis of T1 (22-25)
an algorithm, Time complexity & Space
complexity of an algorithm,
T2 (32-37)
Big ‘O’ notation
UNIT 2: Searching and Sorting
2.1 Need of searching and sorting, why various methods
of searching and sorting, T2 (597-610)
Searching methods: Linear, binary search and
Fibonacci Search.
2.2 Sorting methods: T2 (533-559)
Bubble,
insertion,
selection,
merge,
Time complexity of each searching & sorting
algorithm,
Hashing Techniques T1 (395-414)
UNIT 3: Stack and Queues
3.1 Stacks: Concept, Basic Stack operations, Array T2 (79-81)
representation of stacks,
Stack as ADT, T2 (95-101)
Stack Applications: Reversing data, Arithmetic T2 (102-118)
expressions conversion and evaluation.
3.2 Queues: Concept, Queue operations, Array T2-(147-150)
representation of queues, T2 (159-166)
Queue as ADT, T1(119-120)
Circular queues,
T2 (168-178)
Application of queues: Categorizing data,
Simulation of queues.
UNIT 4: Linked List
4.1 Concept of linked organization, singly linked list, T1 (145-160)
stack using linked list, queue using linked list,
doubly linked list, T1 (186-188)
circular linked list,
T1(172-173)
Linked list as ADT.
4.2 Representation and manipulations of T1 (160-166)
polynomials using linked lists, , T1 (145-149)
comparison of sequential linked organization
with linked organization
UNIT 5: Trees
5.1 Introduction to trees: Basic Tree Concepts
Binary Trees:
T2(263-278)
Concept & Terminologies
R1(7.1-7.12)
Representation of Binary Tree in memory
Traversing a binary tree
5.2 Binary Search Trees (BST): T2(299-307)
Basic Concepts, BST operations
UNIT 6: Graphs
6.1 Basic Concepts & terminology
Sequential representation of graphs :
Adjacency matrix, Path matrix T2(481-490),
Linked representation of a graph R1(8.1-8.7,8.17-8.24)
Operations on graph
Traversing a graph
6.2 Spanning trees;
Minimum Spanning tree
Kruskal’s Algorithm R1(8.47-8.59)-Old
Prim’s Algorithm Edition
Dijkstra's Shortest Path Algorithm
Text Books:
1. Ellis Horowitz, Sartaj Sahni, “Fundamentals of Data Structures”, Galgotia Books Source. ISBN:10:
0716782928
2. Richard F. Gilberg& Behrouz A. Forouzan, Data Structures A Pseudocode Approach with C,
Cengage Learning, second edition. ISBN-10: 0534390803
Reference:
1. Seymour Lipschutz, Data Structure with C, Schaum’s Outlines, Tata McGrawHill. ISBN-10:
1259029964
2. E Balgurusamy - Programming in ANSI C, Tata McGraw-Hill, Third Edition. ISBN-10: 1259004619
3. YedidyahLangsam, Moshe J Augenstein, Aaron M Tenenbaum – Data structures using C and C++ -
PHI Publications, Second Edition ). ISBN 10: 8120311779