Subject Details
Dept     : AIDS
Sem      : 3
Regul    : 2023
Faculty : Kalpana. C
phone  : 8778747462
E-mail  : kalpana.c.ad@snsce.ac.in
3
Page views
5
Files
0
Videos
0
R.Links

Icon
Syllabus

UNIT
1
List ADT

Abstract Data Types (ADTs) –Introduction to analysis of algorithms – asymptotic notations – Non recursion & recursion – analyzing recursive algorithms- List ADT – array-based implementations – linked list implementations – singly linked lists – circularly linked lists – doubly linked lists Exercise: Implement List ADT Linked list implementations of List

UNIT
2
Stack ADT & Queue ADT

Stack ADT – Applications of Stack: Infix to Postfix conversion-Postfix Evaluation- Balanced parentheses -Function Call. Queue ADT – Circular Queue- double ended queues – applications Queue Exercise: 3.ImplementationofStackandQueueADTs 4.Applications of Stack and Queue ADTs

UNIT
3
SORTING, SEARCHING & HASHING

Bubble sort – selection sort – insertion sort – divide & conquer- merge sort – quick sort – analysis of sorting algorithms – linear search – binary search – hashing – hash functions – collision handling – load factors, rehashing, and efficiency Exercise: 5.Implementationofsortingandsearchingalgorithms 6.ImplementationofHashtables

UNIT
4
TREE ADT

Tree ADT – Binary Tree ADT – tree traversals – Back Tracking - binary search trees – AVL trees – heaps – multi- way search trees- Branch & Bound: Knapsack Problem Exercise: Tree representation and traversal algorithms Implementation of Binary Search Trees Implementation of Heaps

UNIT
5
GRAPH ADT

23ITB201 DATA STRUCTURES & ALGORITHMS L T P J C B.Tech-IT,AI&DS 3 0 2 0 4 COURSEOBJECTIVE 1 To understand the analysis of algorithms and efficiency 2 To understand the concepts of ADTs 3 To design linear data structures –lists, stacks, and queues 4 To understand sorting, searching, and hashing algorithms 5 To apply Tree and Graph structures UNITI LIST ADT 9+6 Abstract Data Types (ADTs) –Introduction to analysis of algorithms – asymptotic notations – Non recursion & recursion – analyzing recursive algorithms- List ADT – array-based implementations – linked list implementations – singly linked lists – circularly linked lists – doubly linked lists Exercise: Implement List ADT Linked list implementations of List UNITII STACK ADT & QUEUE ADT 9+6 Stack ADT – Applications of Stack: Infix to Postfix conversion-Postfix Evaluation- Balanced parentheses -Function Call. Queue ADT – Circular Queue- double ended queues – applications Queue Exercise: 3.ImplementationofStackandQueueADTs 4.Applications of Stack and Queue ADTs UNITIII SORTING, SEARCHING & HASHING 9+6 Bubble sort – selection sort – insertion sort – divide & conquer- merge sort – quick sort – analysis of sorting algorithms – linear search – binary search – hashing – hash functions – collision handling – load factors, rehashing, and efficiency Exercise: 5.Implementationofsortingandsearchingalgorithms 6.ImplementationofHashtables UNITIV TREE ADT 9+6 Tree ADT – Binary Tree ADT – tree traversals – Back Tracking - binary search trees – AVL trees – heaps – multi- way search trees- Branch & Bound: Knapsack Problem Exercise: Tree representation and traversal algorithms Implementation of Binary Search Trees Implementation of Heaps UNITV GRAPH ADT 9+6 Graph ADT – representations of graph – graph traversals – DAG – topological ordering –dynamic programming: shortest paths – greedy algorithms: minimum spanning trees – Limitations of Algorithm Power-P, NP and NP-Complete Problems Exercise: Graph representation and Traversal algorithms Implementation of single source shortest path algorithm Implementation of minimum spanning tree algorithms L:45 T:0 P:30 TOTAL:75 PERIODS

Reference Book:

TEXTBOOKS 1. MichaelT.Goodrich,RobertoTamassia,andMichaelH.Goldwasser,“DataStructures& Algorithms”, An Indian Adaptation, John Wiley & Sons Inc., 2021 REFERENCES 1. Lee, KentD., Hubbard, Steve, “Data Structures and Algorithms” Springer Edition2015 2. Rance D.Necaise, “Data Structures and Algorithms”, John Wiley &Sons, 2011 3. Aho, Hopcroft, and Ullman,“DataStructuresandAlgorithms”,PearsonEducation,1983. 4. Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, and Clifford Stein, “Introduction to Algorithms", Second Edition,McGrawHill,2002. 5. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C”, Fourth Edition, Pearson Education, 2014 COURSE OUTCOMES At the end of the course the student will be able to CO1: Explain abstract data types and analyze the algorithm efficiency CO2: Design, implement, and analyze linear data structures, such as lists, queues, and stacks, according to the needs of different applications CO3: Design, implement, and analyze efficient tree structures to meet requirements such as searching, indexing, and sorting CO4: Construct tree concept problems to solve real time problems CO5: Model problems as graph problems and implement efficient graph algorithms to solve them

Text Book:

TEXTBOOKS 1. MichaelT.Goodrich,RobertoTamassia,andMichaelH.Goldwasser,“DataStructures& Algorithms”, An Indian Adaptation, John Wiley & Sons Inc., 2021 REFERENCES 1. Lee, KentD., Hubbard, Steve, “Data Structures and Algorithms” Springer Edition2015 2. Rance D.Necaise, “Data Structures and Algorithms”, John Wiley &Sons, 2011 3. Aho, Hopcroft, and Ullman,“DataStructuresandAlgorithms”,PearsonEducation,1983. 4. Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, and Clifford Stein, “Introduction to Algorithms", Second Edition,McGrawHill,2002. 5. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C”, Fourth Edition, Pearson Education, 2014 COURSE OUTCOMES At the end of the course the student will be able to CO1: Explain abstract data types and analyze the algorithm efficiency CO2: Design, implement, and analyze linear data structures, such as lists, queues, and stacks, according to the needs of different applications CO3: Design, implement, and analyze efficient tree structures to meet requirements such as searching, indexing, and sorting CO4: Construct tree concept problems to solve real time problems CO5: Model problems as graph problems and implement efficient graph algorithms to solve them