Course
UndergraduateSemester
Sem. IISubject Code
AV121Subject Title
Data Structure and AlgorithmsSyllabus
Time Complexity Analysis: Big-Oh, Big-Omega, and Big-Theta notations. Data Types and Abstract Data Types (ADTs):Various types of ADTs such as List, Set, Queue, Circular Queue, Trees, Graphs, etc.2-3 Trees, Red-Black Trees, Binary Trees, Search Trees, N-ary Trees. Graph Traversals and Searching:BFS (Breadth-First Search), DFS (Depth-First Search), Spanning Tree, Minimum Spanning Tree, Paths, Shortest Paths, TSP (Traveling Salesman Problem). Data Structures for Maintaining Ranges, Intervals, and Disjoint Sets with Applications. Binary Heap, Binomial and Fibonacci Heaps, Skip Lists, Hashing, Universal Hashing. Integer Sorting Algorithms with Analysis. Algorithm Design: Greedy, Divide and Conquer, Dynamic Programming, Branch and Bound, Randomized Algorithms. Advanced Data Structures.
Text Books
Same as Referenc
References
- Gregory L. Heileman, Data Structure, Algorithm, and OOP, Tata McGraw-Hill, New Delhi.
- Adam Drozdek, Data Structures & Algorithms in C++, Vikas Publication House.
- Aho, Hopcroft, and Ulmann, Data Structures and Algorithms, Pearson, 1982
- T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, 3rd Ed., MIT Press, 2009.
- Debasish Samanta, Classic Data Structures, Prentice Hall India Learning Private Limited, 2009.
Course Outcomes (COs):
CO1: Compare different programming methodologies and define asymptotic notations to analyze performance of algorithms.
CO2: Use appropriate data structures like arrays, linked list, stacks and queues to solve real world problems efficiently.
CO3: Represent and manipulate data using nonlinear data structures like trees and graphs to design algorithms for various applications.
CO4: Illustrate and compare various sorting and searching techniques including hashing.