Course_Contents
Course_Contents
This course provides a solid understanding of data structures and their practical applications, helping students
make informed choices in data structure selection and implementation. Students will develop skills in algorithm
analysis, focusing on time and space complexity for writing efficient code. Emphasis is placed on designing
algorithms for effective problem-solving, considering trade-offs in performance, memory, and ease of
implementation. By building a strong foundation in data structures and algorithmic analysis, this course prepares
students for advanced topics in computer science, such as Algorithms, Databases, and Operating Systems, where
these skills are essential.
COURSE STRUCTURE:
Introduction to Data Structures and Asymptotic Analysis: Introduction to Data Structures. Importance of
Data Structures in Programming. Asymptotic Notation (Big O, Big Ω, Big Θ). Analysis of Time and Space
Complexity.
Basic Data Structures: Arrays and Structures. Linked Lists: Singly Linked, Doubly Linked, and Circular
Linked Lists. Stacks and Queues: Implementation, Applications, and Complexity Analysis. Use of Linked Lists
in Stacks and Queues.
Trees: Introduction to Trees and Tree Terminology. Binary Trees and Binary Search Trees (BST): Definition,
Properties, and Traversal Techniques (Inorder, Preorder, Postorder). Balanced Trees.
Heaps and Priority Queues: Heap Structure, Types (Min Heap, Max Heap). Binary Heaps: Properties,
Insertion, and Deletion. Priority Queues.
Hashing: Hash Functions: Design and Properties. Collision Resolution Techniques: Chaining, Open
Addressing (Linear Probing, Quadratic Probing).
Graphs: Graph Representation (Adjacency List, Adjacency Matrix). Graph Traversal Techniques: BFS and
DFS.
READING SUGGESTIONS:
1. Kleinberg J, Tardos E. Algorithm design. Pearson Education India. Latest Version.
2. Wirth, N. Algorithms and Data Structures. Prentice-Hall of India. Latest Version.
3. Ellis Horowitz, E., & Sahni, S. Fundamentals of Data Structures in C. Latest Version.
4. Paul Deitel & Harvey Deitel, C How to Program Fundamentals of Data Structures in C, by Ellis
Horowitz, Sartaj Sahni, and Anderson. Latest Version.
ASSESSMENT CRITERIA:
1. Quiz-1: 10%
2. Quiz-2: 10%
3. Lab assignment: 20%
4. Mid-Semester Examination: 20%
5. End-Semester Examination: 40%