Syllabus
Unit I
Abstraction – Abstract data types; Data Representation; Elementary data types; Basic concepts of data Structures; Mathematical preliminaries – big-Oh notation; efficiency of algorithms; notion of time and space complexity; performance measures for data structures. ADT array – Computations on arrays.
Unit II
ADT Stack, Queue, list – array, linked list, cursor based implementations of linear structures. ADT Tree – tree representation, properties traversal of trees; ADT- Binary Trees – properties and algorithms.
Unit III
ADT Priority Queue – Heaps; heap-based implementations; applications of heaps – sorting; Search Tree – Binary search tree; balanced binary search trees – AVL tree; Applications of Search Trees – TRIE; 2-3-4 tree; concept of B-Tree. ADT Dictionary – array based and tree based implementations; hashing – definition and application.
Unit IV
Sorting and Searching Algorithms: Merge Sort, Quick-Sort, Insertion Sort, Bin Sort, Bucket-Sort and Radix-Sort Selection Sort, Comparison of Sorting Algorithms. Introduction to time complexity. Bio-O, worst case complexity, polynomial classifications. Satisfiability, NP Complete and NP Hard (Definitions only).
Unit V
Graphs algorithms: ADT- Data structure for graphs – Graph traversal- Transitive Closure- Directed Acyclic graphs – Weighted graphs – Shortest Paths – Minimum spanning tree – Greedy Methods for MST. Travelling salesman problem.
Objectives and Outcomes
Course Outcomes:
CO1: Understand the various basic data types and trees.
CO2: Gain knowledge about standard data structures like Stack, Queue, list – array, linked
list.
CO3: Know the importance of priority queue – Heaps; heap-based implementations;
applications of heaps – sorting; Search Tree – Binary search tree.
CO4: To understand the basic concepts of time complexity and classes of time complexity.
CO5: To gain knowledge about same graph algorithms like shortest path algorithm and
minimal spanning tree algorithms.
CO-PO Mapping:
|
PO1
|
PO2
|
PO3
|
PO4
|
PO5
|
PO5
|
PO6
|
PO7
|
PO8
|
PO9
|
PO10
|
PO11
|
PO12
|
CO1
|
3
|
3
|
3
|
2
|
2
|
2
|
2
|
|
|
|
|
1
|
1
|
CO2
|
3
|
3
|
3
|
2
|
2
|
2
|
2
|
|
|
|
|
1
|
1
|
CO3
|
3
|
3
|
3
|
2
|
2
|
3
|
2
|
|
|
|
|
1
|
1
|
CO4
|
3
|
2
|
3
|
2
|
2
|
2
|
2
|
|
|
|
|
1
|
1
|
CO5
|
2
|
2
|
2
|
1
|
1
|
2
|
1
|
|
|
|
|
1
|
1
|
Text Books / References
Text Books /Reference Books:
- Goodrich M T, Tamassia R and Michael H. Goldwasser, “Data Structures and Algorithms
in Python++”, Wiley publication, 2013.
- Goodrich M T and Tamassia R, “Data Structures and Algorithms in Java”, Fifth edition,
Wiley publication, 2010.
- Tremblay J P and Sorenson P G, “An Introduction to Data Structures with Applications”,
Second Edition, Tata McGraw-Hill, 2002.