CSDC0201 Data Structures and Algorithms [3 0 0 3]
Course Contents
Unit 1: Introduction to Data Structures and Complexity Analysis
Overview of data structures, algorithms, Asymptotic notations (Big O, Omega, Theta), Time and space
complexity analysis, Best, average, and worst-case analysis, Time space trade-off, Abstract Data types.
Unit 2: Array and Linked List
Arrays, implementing basic algorithms on 1D array (insertion, deletion, searching, traversal),
Implementing basic algorithms on 2D array (Addition, Subtraction, Multiplication, Transpose),
Address calculation for multidimensional array, sparse matrix, array sorting: Bubble sort, insertion sort
and selection sort, Linked List, Representation and Implementation of Singly Linked Lists, Two-way
Header List, Traversing and Searching of Linked List, Overflow and Underflow, Insertion and deletion
Algorithms, doubly linked list, Linked List in Array, Polynomial representation, and addition,
Generalized linked list, Circular linked list, Garbage Collection and Compaction.
Unit 3: Stack and Queue
Stack, implementing stack using arrays and linked lists, implement basic operations on stack (create,
push, pop, full, empty), Applications of stacks, expression evaluation (prefix and postfix), Conversion
of Infix to prefix and Postfix Expressions, Queue, implementing queue using arrays and linked lists,
implement basic operations on queue (create, insert, delete, full, empty), Priority Queue, Circular
Queue.
Unit 4: Tree and Graph
Trees, Basic terminologies, Array and linked representation of binary tree, Binary tree traversal (in-
order, pre-order, post-order), Threaded Binary Tree, Huffman algorithm, Binary search trees (BST),
Insertion and Deletion in BST, Graphs, Graph terminologies and representation of graphs (adjacency
matrix, adjacency list), Multigraph, Directed Graph, Traversals - Depth-First Search (DFS) and
Breadth-First Search (BFS), Connected component, Minimum Spanning Tree (Prim's, Kruskal's),
Shortest path algorithm, Topological sorting.
Unit 5: Hashing and Heap
Hash Table, Hash Functions, Collision Resolution Strategies, Hash Table Implementation, heap-based
implementations (Min, Max), insertion and deletion in heap, and heap sort.
Course Outcomes
CO1: Understand the concepts of data structures, algorithm and analyse their time complexity.
CO2: Apply sequential data structures e.g. Array and Linked list to solve basic problems.
CO3: Apply and analyze stack and queue data structures to solve practical problems in real-life
scenarios.
CO4: Apply variety of data structures, including trees, graphs, and hashing techniques, to address
diverse and complex real-time computing problems.
2
Course
Programme Outcomes
Outcomes
PO PO PO PO PO PO PO PO PO PO PO PO PS PS
1 2 3 4 5 6 7 8 9 10 11 12 O1 O2
CO1 2 3 2 3 2 1 3 1
CO2 2 1 2 1 1 3
CO3 3 2 3 3 2 2 3 3 1
CO4 3 2 3 3 2 2 3 3 1
1 – Low, 2 – Medium, 3 – High
Recommended Books
1. Cormen, Thomas H., et al. Introduction to Algorithms. 4th ed., The MIT Press, 2022.
2. Tenenbaum, Aaron M., Yedidyah Langsam, and Moshe J. Augenstein. Data Structures Using
C. 1st ed., Pearson Education, 2019.
3. Forouzan, Behrouz A., and Richard F. Gilberg. C Programming and Data Structures. 3rd ed.,
Cengage Learning India Pvt. Ltd., 2022.
4. Horowitz, Ellis, and Sartaj Sahni. Fundamentals of Data Structures in C++. 2nd ed.,
Universities Press, 2008.
5. Lipschutz, Seymour. Data Structures. 2nd ed., McGraw Hill, 2014.