You are on page 1of 5

COURSE SYLLABI

(2016 -2020)

DEPARTMENT OF COMPUTER ENGG. W.E.F : 2019-20


Design And Analysis of
COURSE NAME :
Algorithm
TY BTECH COURSE CODE : CS 347

COURSE CREDIT : 4

RELEASE DATE : --- REVISION NO. : 0.0

TEACHING SCHEME : EVALUATION SCHEME :

THEORY PRESENTATION/
LECTURE PRACTICAL PRACTICAL TOTAL
ICE ECE IA DEMONSTRATION

3 2 30 40 30 50 -- 150

PRE-REQUISITE:
1. CS 201 Data Structure & Files
2. CS 211 Discrete Structure & Graph Theory

COURSE OBJECTIVES:
1. CS347.CEO.1: To be able to design an efficient algorithm for any specified problem.

2. CS347.CEO.2: To be able to carry out the analysis of various algorithms in terms of its computational
Complexity.
3. CS347.CEO.3: To identify appropriate algorithmic design strategies to optimize the performance of a
given problem.
4.CS347.CEO.4: To distinguish between P and NP class of problems.

COURSE OUTCOMES:
Students successfully completing the course will be able to

1. CS347.CO.1: Make use of the Five problem solving strategy to design an algorithm. (L3)
Format No. : MITAOE/ACAD/ 002 Rev. No. : 0.0 Rev. Date : 01/12/2017
2. CS347.CO.2 Analyze the given algorithm in terms of its computational complexity. (L4)

3. CS347.CO.3: Solve intractable problems using approximation algorithms.


4. CS347.CO.4: Evaluate the intractable problems using approximation algorithms. (L5)
5. CS347.CO.5: Compare various string-matching Algorithms. (L2).

THEORY:

Unit I Introduction of Algorithmic Strategy 6 Hours


App/System/Case study:
Packet switched network, Binary Search.
Content:
Algorithm, performance analysis, Amortized analysis, Asymptotic Notation, Problem solving strategies
Divide and Conquer: Basic method, Example: Quick Sort, Max-Min Problem, Strassen’s Matrix
Multiplication, Recurrence: Substitution method, Master Theorem

Self-Study : Median of Two sorted array of same size.


Further reading: Large integer multiplication algorithm.

Unit II Greedy Method 8 Hours


App/System/Case study:
CPU Scheduling Algorithms, Network Routing
Contents:
Greedy Algorithm: Basic Method and Algorithms, Example: Fractional Knapsack Problem, Job
Sequencing with Deadline, Huffman Algorithm, Activity Selection Problem.
Self-Study: Coin Changing Problem
Further Reading: Task scheduling problem as a matroid
Unit III Dynamic Programming 6 Hours
App/System/Case study:
Google Map, Google search engine
Contents:
Dynamic Programming: Basic Method, Example: 0/1 Knapsack, Chain Matrix Multiplication OBST, All
pairs shortest path, Single source shortest path: Floyd-Warshall’s Algorithm Bellman Ford algorithm.
Travelling Salesman Problem.

Format No. : MITAOE/ACAD/ 002 Rev. No. : 0.0 Rev. Date : 01/12/2017
Self-study: Coin changing problem

Further Reading: Longest common Subsequence Problem.

Unit IV Backtracking and Branch & Bound 8 Hours


App/System/Case study:
Parser, Crossword puzzle, Sudoku.
Contents:
Backtracking: Basic Method, Examples: Eight Queen Problem, Backtracking Algorithms for Enumerating
Independent Sets of a Graph,
Branch and Bound: Basic Method, FIFO and LC approach, 0/1 knapsack problem using FIFO & LC
Approach, Travelling Salesperson problem FIFO & LC Approach
Self-Study: Sum of Subset problem
Further reading: 15 Puzzle problem
Unit V Computational Complexity Theory 6 Hours
App/System/Case study: Airline crew scheduling, TSP and Graph coloring problem.

Contents:
Classifying Problems, Nondeterministic & Deterministic problems, Tractable & Non Tractable problems,
Reductions, Cook's Theorem, NP Complete problem, NP Hard problem,3SAT Problem Approximation
algorithm: vertex cover problem
Self Study: Approximation algorithm for TSP
Further reading: Clique Decision problem.
Unit VI Advanced Algorithms and Applications 8 Hours
App/System/Case study: plagiarism detector, spell checker, web search engines
Contents:
Randomized algorithms : Monte Carlo and Las Vegas algorithm, String matching algorithm: KMP, Boyer
Moore Algorithm, Robin Karp Algorithm, Number theoretic algorithm: : the GCD – Modular Arithmetic –
The Chinese Remainder Theorem.

Self-Study: Naïve string matching algorithm.


Further reading: The general string problem as a finite automata.

PRACTICAL:

Practical No. 1 4 Hours

Format No. : MITAOE/ACAD/ 002 Rev. No. : 0.0 Rev. Date : 01/12/2017
Design and implement Binary search algorithm using Divide and Conquer method for a given input.
Determine the time required to search an element. Determine the time required to search an element for
large values of n. Compare the time taken by Binary Search with the time taken by linear search. Modify
the binary search by dividing it using a random number in the appropriate range. Show how this
Modified algorithm compares with the original algorithm in terms of Performance.
Practical No. 2 4 Hours
Design and implement Quick Sort algorithm using Divide and Conquer method for a given input. Use
Median of medians algorithm to find median of the list. Determine the time required to sort the list for
large values of n. (n=10^5 onwards)
Practical No. 3 4 Hours
Assume that, There are N Person and each person needs exactly one cab. For each person you are
given the start time and end time (both inclusive) during which that person will travel. Find the
Minimum number of cans required. Which Strategy will be best suitable to solve this problem.
Practical No. 4 4 Hours
Suppose we have a set of coins of denominations Cn-1, Cn-2,……C0 for some C>1. Coins of each
denominations are available unlimited quantity. The problem is to make up an exact amount A
using a minimum total number of coins. Device a solution for this problem and analyze the time
complexity of the algorithm.
Practical No. 5 4 Hours
Design & Implement Prims Algorithm using Greedy Approach. Calculate the time complexity of the
algorithm.

Practical No. 6 8 Hours


Design & Implement Huffman Algorithm using Greedy Approach. Calculate the time complexity of
the algorithm.
Practical No. 7
Design & Implement Travelling salespersons Problem using Dynamic Programming. Also calculate the
Time complexity for this algorithm.

Practical No. 8
Design and implement a solution for a problem of placing eight chess queens on an 8×8 chessboard so
that no two queens threaten each other. Thus, a solution requires that no two queens share the same row,
column, or diagonal.

TEXT BOOK:
Format No. : MITAOE/ACAD/ 002 Rev. No. : 0.0 Rev. Date : 01/12/2017
1. E.Horowitz , S. Sahni, S. Rajasekaran “Fundamentals of Computer Algorithms” , 2nd Edition,
Universities Press pvt Ltd 2008, ISBN 9788173716126.

2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein“, Introduction to


Algorithm”, 3rd Edition.

REFERENCES:

1. V. Aho , J.D. Ullman, "Design and Analysis of Computer Algorithms"1st Edition , Pearson
Education 2002, ISBN 8131702057 PHI Learning Pvt Ltd, 2011, ISBN 978-81-203-40007-7.

2. Brassard G. and Bratley P.,” Algorithms, Theory and Practices”, PHI. ISBN 0-13-023243-2.

Format No. : MITAOE/ACAD/ 002 Rev. No. : 0.0 Rev. Date : 01/12/2017

You might also like