0% found this document useful (0 votes)
8 views3 pages

Lab Manual Alg

The document outlines the syllabus for the Algorithms course (CS3401) at Tamilnadu College of Engineering for the academic year 2022-2023. It includes objectives, a list of experiments focusing on searching, sorting, graph algorithms, and various algorithm design techniques, along with expected outcomes for students. The course consists of 30 periods and is designed to enhance students' understanding and application of algorithm analysis and design.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views3 pages

Lab Manual Alg

The document outlines the syllabus for the Algorithms course (CS3401) at Tamilnadu College of Engineering for the academic year 2022-2023. It includes objectives, a list of experiments focusing on searching, sorting, graph algorithms, and various algorithm design techniques, along with expected outcomes for students. The course consists of 30 periods and is designed to enhance students' understanding and application of algorithm analysis and design.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

TAMILNADU COLLEGE OF ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


ACADEMIC YEAR 2022-2023: EVEN SEMESTER SYLLABUS

CS3401 ALGORITHMS LTPC


3 024
OBJECTIVES:

 To understand and apply the algorithm analysis techniques on searching and sorting

Algorithms

 To critically analyze the efficiency of graph algorithms

 To understand different algorithm design techniques

 To solve programming problems using state space tree

 To understand the concepts behind NP Completeness, Approximation algorithms and

randomized algorithms.

LIST OF EXPERIMENTS:

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: 30PERIODS
OUTCOMES:
On Completion of the course, the students should be able to:

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 programming

and greedy techniques to solve problems

CO4: Use the state space tree method for solving problems.

CO5: Solve problems using approximation algorithms and randomized algorithms

LIST OF EQUIPMENT FOR A BATCH OF 30 STUDENTS:


Standalone desktops with netbeans 30 Nos.

Exercise Proposed No of hrs


No
Exercises
schedule
Implement Linear Search. Determine the time required to
1
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. WEEK 1
3
Implement recursive Binary Search. Determine the time
2
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.
Given a text txt [0...n-1] and a pattern pat [0...m-1], write a
3
function search (char pat [ ], char txt [ ]) that prints all
occurrences of pat [ ] in txt [ ]. You may assume that n >
m.
Sort a given set of elements using the Insertion sort and
4 WEEK 2
Heap sort methods and determine the time required to sort 3
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.
Develop a program to implement graph traversal using
5
Breadth First Search
WEEK 3 3
Develop a program to implement graph traversal using
6
Depth First Search
From a given vertex in a weighted connected graph,
7
develop a program to find the shortest paths to other
vertices using Dijkstra’s algorithm. WEEK 4 3
Find the minimum cost spanning tree of a given
8
undirected graph using Prim’s algorithm.
Implement Floyd’s algorithm for the All-Pairs- Shortest-Paths
9 WEEK 5 3
problem.
Compute the transitive closure of a given directed graph
10
using Warshall's algorithm.
Develop a program to find out the maximum and
11
minimum numbers in a given list of n numbers using the
divide and conquer technique.
Implement Merge sort and Quick sort methods to sort an
12 WEEK 6 3
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.

13 Implement N-Queens problem using Backtracking. WEEK 7 3


Implement any scheme to find the optimal solution for
14
the Traveling Salesperson problem and then solve the
WEEK 8 3
same problem instance using any approximation
algorithm and determine the error in the approximation.
Implement randomized algorithms for finding the kth
15
smallest number. The programs can be implemented in WEEK 9 3
C/C++/JAVA/ Python.
16 Model exam WEEK 10 3

Prepared by Approved by

Signature

Name K.KAVIPRIYA Dr.A.S.SHANTHI

Designation AP / CSE HoD / CSE

You might also like