0% found this document useful (0 votes)
6 views2 pages

Algorithm Lab Syllabus

The document outlines a practical course on algorithms, detailing various exercises involving searching, sorting, graph algorithms, and algorithm design techniques. Students will implement algorithms in C/C++/JAVA/Python and analyze their efficiency through experiments. The course aims to equip students with skills in algorithm analysis, graph problem-solving, and the application of approximation and randomized algorithms.

Uploaded by

vigneshs042006
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
6 views2 pages

Algorithm Lab Syllabus

The document outlines a practical course on algorithms, detailing various exercises involving searching, sorting, graph algorithms, and algorithm design techniques. Students will implement algorithms in C/C++/JAVA/Python and analyze their efficiency through experiments. The course aims to equip students with skills in algorithm analysis, graph problem-solving, and the application of approximation and randomized algorithms.

Uploaded by

vigneshs042006
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 2

CS3401 ALGORITHMS LT P C

3 0 2 4

PRACTICAL EXERCISES: 30 PERIODS


Searching and Sorting Algorithms
1. Implement Linear Search. Determine the time required to search for an element. Repeat the
experiment for different values of n, the number of elements in the list to be searched and
plot a graph of the time taken versus n.
2. Implement recursive Binary Search. Determine the time required to search an element.
Repeat the experiment for different values of n, the number of elements in the list to be
searched and plot a graph of the time taken versus n.
3. Given a text txt [0...n-1] and a pattern pat [0...m-1], write a function search (char pat [ ], char
txt [ ]) that prints all occurrences of pat [ ] in txt [ ]. You may assume that n > m.
4. Sort a given set of elements using the Insertion sort and Heap sort methods and determine
the time required to sort the elements. Repeat the experiment for different values of n, the
number of elements in the list to be sorted and plot a graph of the time taken versus n.

Graph Algorithms
1. Develop a program to implement graph traversal using Breadth First Search
2. Develop a program to implement graph traversal using Depth First Search
3. From a given vertex in a weighted connected graph, develop a program to find the shortest
paths to other vertices using Dijkstra’s algorithm.
4. Find the minimum cost spanning tree of a given undirected graph using Prim’s algorithm.
5. Implement Floyd’s algorithm for the All-Pairs- Shortest-Paths problem.
6. Compute the transitive closure of a given directed graph using Warshall's algorithm.

Algorithm Design Techniques


1. Develop a program to find out the maximum and minimum numbers in a given list of n
numbers using the divide and conquer technique.
2. Implement Merge sort and Quick sort methods to sort an array of elements and determine
the time required to sort. Repeat the experiment for different values of n, the number of
elements in the list to be sorted and plot a graph of the time taken versus n.

State Space Search Algorithms


1. Implement N Queens problem using Backtracking.
Approximation Algorithms Randomized Algorithms
1. Implement any scheme to find the optimal solution for the Traveling Salesperson problem
and then solve the same problem instance using any approximation algorithm and determine
the error in the approximation.
2. Implement randomized algorithms for finding the kth smallest number.
The programs can be implemented in C/C++/JAVA/ Python.
TOTAL:75 PERIODS
COURSE OUTCOMES:
At the end of this course, the students will be able to:
CO1: Analyze the efficiency of algorithms using various frameworks
CO2: Apply graph algorithms to solve problems and analyze their efficiency.
CO3: Make use of algorithm design techniques like divide and conquer,
dynamic programmingand greedy techniques to solve problems
CO4: Use the state space tree method for solving problems.
CO5: Solve problems using approximation algorithms and randomized algorithms

TEXT BOOKS:
1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and
Clifford Stein, "Introduction toAlgorithms", 3rd Edition, Prentice Hall of
India, 2009.
2. Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran “Computer
Algorithms/C++” OrientBlackswan, 2nd Edition, 2019.

REFERENCES:
1. Anany Levitin, “Introduction to the Design and Analysis of
Algorithms”, 3rd Edition, PearsonEducation, 2012.
2. Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, "Data
Structures and Algorithms",Reprint Edition, Pearson Education, 2006.
3. S. Sridhar, “Design and Analysis of Algorithms”, Oxford university press, 2014.

CO’s-PO’s & PSO’s MAPPING


CO’s PO’s PSO’s
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
1 3 2 - - - 1 - - - - 1 - 1 -
2 2 3 - - - - 1 - - - - 1 - 1 -
3 1 2 3 1 - - 2 - - - - - - 1 1
4 1 1 - - - - - - - - - - - - -
5 1 1 - - - - - - - - - - - - -
AVg. 2.67 1.8 3 1 - - 1.33 - - - - 1 - 1 1
1 - low, 2 - medium, 3 - high, ‘-“- no correlation

You might also like