Objectives:
- To understand basic principles of algorithm design and why algorithm analysis is important
- To understand how to implement algorithms in Python
- To understand how to transform new problems into algorithmic problems with efficient solutions
- To understand algorithm design techniques for solving different problems
Expected Learning Outcomes:
- Understand the concepts of algorithms for designing good program.
- Implement algorithms using Python.
Note: All Practicals question are below and output are in doc file inside each prac folder and solution as well
Practical 1 : Write Python program to perform matrix multiplication.
Practical 2 : Write Python program to sort n names using Quick sort algorithm.
Practical 3 : Write Python program to sort n numbers using Merge sort algorithm.
Practical 4 : Write Python program for inserting an element into binary tree.
Practical 5 : Write Python program for deleting an element (assuming data is given) from binary tree.
Practical 6 : Write Python program for checking whether a given graph G has simple path from source s to destination d. Assume the graph G is represented using adjacent matrix.
Practical 7 : Write Python program for finding the smallest and largest elements in an array A of size n using Selection algorithm.
Practical 8 : Write Python program for finding the second largest element in an array A of size n using Tournament Method.