Course
UndergraduateSemester
Sem. IISubject Code
AV121Subject Title
Data Structures And AlgorithmsSyllabus
Time complexity analysis. Big-Oh, Big-Omega, and Big-Theta notations.
Data Types, ADTs, Various types of ADTs such as List, Set Ques, circular queue, trees, graphs etc. 2-3 tree, red-black trees, binary trees, search trees, n-ary trees.
Graph traversals, searching on graph, BFS, DFS, Spanning Tree, Minimum Spanning Tree, paths, shortest paths, TSP.
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, random- ized algorithms. Advanced data structures.
Text Books
Same as Reference
References
1. Gregory L. H., Data Structure, Algorithm and OOP, Tata Mc Graw Hill, New Delhi.
2. Adam D., Data Structures & Algorithm in C++, Vikas publication House.
3. Aho, Hopcroft, and Ulmann, Data Structures and Algorithms, Pearson 1982.
4. T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, 3rd ed., MIT Press, 2009.
5. Debasis 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.