This course enables the students to Course Outcomes(COs): Learning Outcome (at course level) Learning and teaching strategies Assessment Strategies CO113. Implement various linear and nonlinear data structures. CO114. Describe, apply and analyze the complexity of divide and conquer strategy, greedy strategy and dynamic programming strategy. CO115. Apply the learned concepts in various domains like DBMS and Compiler Construction. CO116. Explain and apply backtracking, branch and bound and string matching techniques to deal with some hard problems. CO117. Select appropriate data structure for specified problem domain. CO118. Analyze the running time and space complexity of algorithms. Approach in teaching: Interactive Lab Sessions, Modelling, Discussions, implementing enquiry based learning, student centred approach Learning activities for the students: Experiential Learning, Discussions, Lab Assignments · Lab Assignment · Programming test in Lab Sessions · Continuous Assessment · Semester end practical exam · Viva-voce
Contents 1. Linear search & binary search , Sorting Techniques 2. Stacks and queues operations (with arrays and pointers) 3. Link List and Trees operations (with arrays and pointers) 4. graphs – basic traversal and search techniques 5. Greedy method:-knapsack problem 6. Greedy method minimum cost spanning tree 7. Dynamic Programming – 0/1 Knapsack 8. Dynamic Programming – traveling salesman problem 9. Backtracking 8-Queens problem 10. Backtracking Sum of Subsets 11. Branch and Bound -0/1 Knapsack problem 12. Sequential and Dynamic Implementations