DAA Syllabus
DAA Syllabus
COURSE OVERVIEW:
To introduce students, the concepts of algorithm analysis for find out the space and time complexity of
different algorithms. Different design techniques such as greedy method, divide and conquer,
backtracking, dynamic programming, branch and bound are to be studied for finding the solution to the
different problems. It also provides an insight into the basic concepts of NP and NP-hard problems and
their relevance in research.
COURSE OBJECTIVE:
• To analyze and design different searching and sorting algorithm algorithms based upon different
designing approaches.
• To analyze and design different tree algorithms based upon different designing approaches.
• To choose appropriate algorithm design techniques for solving Greedy Algorithm real time
problems.
• To choose appropriate algorithm design techniques for solving Dynamic Programming real time
problems.
COURSE OUTCOMES:
COURSE CONTENT
THEORY+ PRACTICAL
Content
Introduction to Algorithms & Analysis
Introduction to Algorithms & Analysis- Design of Algorithms, Growth of function, Complexity of
Algorithms, Asymptotic Notations, Recurrences (Master Method) Sorting: Insertion Sort, Quick
Sort, Merge Sort
Graph Algorithms
Graph Algorithms: Elementary Graph Algorithms, Breadth First Search, Depth First Search,
Minimum Spanning Tree, Kruskal’s Algorithms, Prim’s Algorithms, Single Source Shortest Path
(Dijkstra’s Algorithm)
Practical
List of Experiments
1. Study and compare different asymptotic notations.
2. Write a program to sort given set of numbers in ascending order using Bubble
sort.
3. Write a program to sort given set of numbers in ascending order using Selection
Sort.
4. Write a program to sort given set of numbers in ascending order using Insertion
sort.
5. Write a program to sort given set of numbers in ascending order using Quick
sort.
6. Write a program to sort given set of numbers using Merge Sort.
7. Write a program to insert elements in an empty Binary tree.
8. Write a program to insert elements in an empty Binary search tree.
9. Write a program to implement Matrix Chain Multiplication.
10. Write a program to implement fractional Knapsack using Greedy technique.
11. Write a program to implement Breadth First Search (BFS) for a given Graph G.
12. Write a program to implement Depth First Search (DFS) for a given Graph G.
13. Write a program to make the Minimum Spanning tree using Kruskal Approach.
14. Write a program to make the Minimum Spanning tree using Prim's Approach.
The course assessment patterns are the assessment tools used both in formative and summative examinations.
@
Lab Work-15 marks + Lab Record-10 marks