CS8451 Design and Analysis of Algorithms Pagenumber
CS8451 Design and Analysis of Algorithms Pagenumber
1. What do you mean by algorithm? (Nov/Dec 2008) (May/June 2013) (Apr/May 17) (U)
An algorithm is a sequence of unambiguous for solving a problem i.e., for obtaining a required
output for any legitimate input in a finite amount of time. In addition, all algorithms must satisfy
the following criteria:
1) Input
2) Output
3) Definiteness
4) Finiteness
5) Effectiveness.
PROBLEM
ALGORITHM
IIYEAR/IV SEMESTER
1
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
11. What are the steps involved in the analysis framework? (R)
The various steps are as follows
Measuring the input‘s size
Units for measuring running time
Orders of growth
Worst case, best case and average case efficiencies
12. What do you mean by “worst-case efficiency” of and algorithm? (R) (Nov 17)
The worst case efficiency of an algorithm, its efficiency for the worst-case input of size n,
which is an input or inputs of size n for which the algorithm runs the longest among all possible
inputs of that size.
16. Define the asymptotic notation “Big oh” (0)(May 2008)(April/May 2012&2013) (R)
Let, f(n) and g(n) be two non-negative functions. Let, n0 and constant c are two integers such
that no denotes some value of input similarly c is constant such that c > 0. We can write
IIYEAR/IV SEMESTER
2
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
3
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
recurrence, especially divide and conquer algorithms. The complexity of recursive algorithms
is readily expressed as a recurrence.
Example :(i)Linear search of a list
1 for n 1
T (n)
(ii) Binary
T(n -1) + 1 otherwise
search
1 for n 1
T (n)
T(n/2) + 1 otherwise
22. What are the Best, Worst and Average Case complexity of Linear Search? (R)
Best Case – O(1)
Average Case – O(N)
Worst Case – O(N)
24. Give the general plan for analyzing non recursive algorithm. (R)
Decide a parameter indicating an Input‘s Size.
Identify the algorithms Basic Operation
Check whether the number of times the basic operation is executed only on thesize of an
input. If it also depends on some additional property, the worst case, average case, and if
necessary, best case efficiencies have to be investigated separately.
Using standard formulas and rules of sum manipulation either find a closedformula for
the count or, at the very least, establish its order of growth.
IIYEAR/IV SEMESTER
4
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
30. Give the general plan for analyzing recursive algorithm. (R)
Decide a parameter indicating an Input‘s Size.
Identify the algorithms Basic Operation
Check whether the number of times the basic operation is executed only on thesize of an
input. If it also depends on some additional property, the worst case,average case, and if
necessary, best case efficiencies have to be investigatedseparately.
Set up a recurrence relation, with an appropriate initial condition, for thenumber of times
basic operation is executed.
32. Give the General Plan for the Empirical Analysis of Algorithm Time Efficiency? (C)
1. Understand the experiment‘s purpose.
2. Decide on the efficiency metric M to be measured and the measurement unit (an
operation count vs. a time unit).
3. Decide on characteristics of the input sample (its range, size, and so on).
4. Prepare a program implementing the algorithm (or algorithms) for the experimentation.
5. Generate a sample of inputs.
6. Run the algorithm (or algorithms) on the sample‘s inputs and record the data observed.
7. Analyze the data obtained.
33. Write an algorithm to check whether the given string is Palindrome or not. (NOV/DEC
2008) (C)
1. Get the number from user.
2. Reverse it.
3. Compare it with the number entered by the user.
IIYEAR/IV SEMESTER
5
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
34. Write an algorithm to find the number of binary digits in the binary representation of a
positive decimal integer. (MAY 2015) (C)
ALGORITHM Binary(n)
//Input: A positive decimal integer n
//Output: The number of binary digits in n‘s binary representation
count<- 1
while n>1 do
count<- count+1
n<- [n/2]
return count
36. Give the Euclid algorithm for computing gcd(m, n) (MAY/JUN 2016) (Apr/May 17)
(APR 17) (C)
ALGORITHM Euclid_gcd(m, n)
//Computes gcd(m, n) by Euclid‘s algorithm
//Input: Two nonnegative, not-both-zero integers m and n
//Output: Greatest common divisor of m and n
while n ≠ 0 do
r ←m mod n
m←n
n←r
return m
Example: gcd(60, 24) = gcd(24, 12) = gcd(12, 0) = 12.
37. Compare the order of growth n(n-1)/2 and n2.(MAY/JUN 2016) (AN)
n n(n-1)/2 n2
IIYEAR/IV SEMESTER
6
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
38. Design an algorithm for computing area and circumference of the circle. (NOV/DEC
2016) (C)
//Computes area and circumference of the circle
//Input: One non-negative integer radius
//Output: Area and Circumference of the circle
44. Define algorithm. List the desirable properties of an algorithm. (NOV/DEC 2018)
An algorithm is a sequence of unambiguous for solving a problem i.e., for obtaining a required
output for any legitimate input in a finite amount of time. In addition, all algorithms must satisfy
the following criteria:
1) Input
2) Output
3) Definiteness
4) Finiteness
5) Effectiveness.
Properties:
1.Non-ambiquity
2.Range of input
3.Multiplicity
IIYEAR/IV SEMESTER
7
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
4.Speed
5.Finiteness
48. List the reasons for choosing an approximate algorithm. (APRIL/MAY 2021)
PART B
1. Define the asymptotic notations used for best case average case and worst case analysis?
(APIRL/MAY2009)(APRIL/MAY-2008)(R) (Apr 18)
2. How do you evaluate the performance of the algorithms? (E)
3. Explain the general framework for analyzing the efficiency of algorithm. (R)
4. Explain properties of BIG (oh) Notation.(8) (MAY 2016) (R) (Nov 17)
IIYEAR/IV SEMESTER
8
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
6. (i) Distinguish between Big Oh, Theta and Omega natation. (NOV/DEC 2012) (AN)
(ii) Analyze the best, worst and average case analysis for linear search.
7. Find complexity of algorithm C (n) of the algorithm for the best, worst, average
case,(evaluate average case complexity of n=3 n mean number of inputs.) (E)
8. (i) Define Asymptotic notations. Distinguish between Asymptotic notation and Conditional
asymptotic notation. (10)(APRIL/MAY 2010)(APRIL/MAY 2011) (Apr/May 17)
ii) Explain how the removing condition is done from the conditional asymptotic notation with
an example. (6)(NOV/DEC 2011) (R)
9. (i) Explain how analysis of linear search is done with a suitable illustration. (10)
(ii) Define recurrence equation and explain how solving recurrence equations are done.(6)
(NOV/DEC 2011) (R)
10. Explain how Time Complexity is calculated. Give an example. (APRIL/MAY 2010) (E)
12. Write an algorithm for finding maximum element of an array, perform best, worst and
average case complexity with appropriate order notations. (APRIL/MAY 2008) (R)
13. Write an algorithm to find mean and variance of an array perform best, worst and average
case complexity, defining the notations used for each type of analysis. (APRIL/MAY 2008)
(AN)
14. (i)Briefly explain the time complexity, space complexity estimation.(6) (MAY/JUNE 2013)
(ii) Write the linear search algorithm and analyze its time complexity.(10) (Nov/Dec 2016) (R)
15. (i) Find the time complexity and space complexity of the following problems. Factorial using
recursion and Compute nth Fibonacci number using Iterative statements. (C)
1). ( )
IIYEAR/IV SEMESTER
9
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
( )
2) { Where a and c are constants.
16. Solve the following inequalities are correct (MAY/JUNE 2013) (A)
(i)
(ii) n!=O( )
(iii)
(iv)
17. If you have to solve the searching problem for a list of n numbers, how can you take
advantage of the fact that the list is known to be sorted? Give separate answer for
18. (i) Derive the worst case analysis of merge sort using suitable illustrations.(8)(MAY 2015)
(ii) Derive a loose bound on the following equation (8) (A)
F(x) =35x8 -22x7 +14x5 – 2x4 -4x2 +x-15
19. Give an algorithm to check whether all the Elements in a given array of n elements are
distinct. Find the worst case complexity of the same.(8) (MAY / JUNE 2016) (A)
20. Give the recursive algorithm which finds the number of binary digits in the binary
representation of a positive decimal integer. Find the recurrence relation and complexity. (MAY
/ JUNE 2016) (A)
21. State the general plan for analyzing the time efficiency of non-recursive algorithm and
explain with an example. (8) (Nov/Dec 2016) (AN)
22. Briefly explain the mathematical analysis of recursive and non-recursive algorithm. (8)
(Apr/May 2017) (R)
IIYEAR/IV SEMESTER
10
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
23. Discuss the steps in mathematical analysis for recursive algorithms. Do the same for finding
the factorial of the number. (NOV/DEC 2017)
24. Give the general plan for analyzing the time efficiency of recursive algorithm and use
recurrence to find number of moves Towers of Hanoi problem. (APR/MAY 18)
25. Consider the problem of finding the smallest and largest elements in an array of n numbers.
(APR/MAY 18)
(i) Design a presorting- based algorithm for solving this problem and determine its efficiency
class. (7)
(A) the brute force algorithm (B) this presorting based algorithm (C) the divide and conquer
algorithm.
26. (i)Prove that if g(n) is Ω(f(n)) then f(n) is O(g(n)). (5) (NOV/DEC 2018)
(ii) Discuss vrious methods used for mathematical analysis of recursive algorithms.(8)
(NOV/DEC 2018)
27. Write the asymptotic notations used for best case,average case and worst case analysi of
lgorithms. Writa an algorithm for finding maximum elements in an array. Give best,worst and
average case complexities. (NOV/DEC 2018)
(2) T(n)=T(n/3)+T(2n/3)+cn, where ‗c‘ is a constant and ‗n‘ is the input size.
29. a) i) consider the problem of counting, in a given text the number of substrings
that start with an a and end with a B. For example, there are four such
algorithm‖. Yes or No ? Justify your answer with the help of an example. (5) (APRIL/MAY
2021)
IIYEAR/IV SEMESTER
11
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
ii) Explain the importance of asymptotic analysis for running time of an algorithm with an
example. (4)
iii) Write and explain recursive algorithm to find the factorial of any given number
n > = 0. Find the time complexity. (5) (APRIL/MAY 2021)
UN IT II
BRUTE FORCE AND DIVIDE-AND-CONQUER
Weaknesses
d. rarely yields efficient algorithms
IIYEAR/IV SEMESTER
12
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
Shape Property: Heap data structure is always a Complete Binary Tree, which means all
levels of the tree are fully filled.
IIYEAR/IV SEMESTER
13
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
Heap Property: All nodes are either greater than or equal to or less than or equal to
each of its children. If the parent nodes are greater than their child nodes, heap is called a
Max-Heap, and if the parent nodes are smaller than their child nodes, heap is called Min-
Heap.
Heap sort is not a Stable sort, and requires a constant space for sorting a list.
Heap Sort is very fast and is widely used for sorting.
IIYEAR/IV SEMESTER
14
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
14. Give the general plan for divide -and-conquer algorithms. (APRIL/MAY 2008)
(NOV/DEC 2008) (MAY/JUNE 2016) (R) (Nov 17)
The general plan is as follows.
A problems instance is divided into several smaller instances of the same problem,
ideally about the same size.
The smaller instances are solved, typically recursively.
If necessary the solutions obtained are combined to get the solution of the original
problem.
15
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
mid : = [(low+high)/2];
IIYEAR/IV SEMESTER
16
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
-1;
Divide Step: If given array A has zero or one element, return S; it is already sorted.
Otherwise, divide A into two arrays, A1 and A2, each containing about half of the elements
of A.
Conquer Step: Combine the elements back in A by merging the sorted arrays A1 and A2
into a sorted sequence
IIYEAR/IV SEMESTER
17
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
30. Write the Pseudo code for computes the distance between the two closest points?
(Nov/Dec 2016) (A)
//Finds distance between two closest points in the plane by brute force
//Input: A list P of n (n ≥ 2) points p1(x1, y1), . . . ,pn(xn, yn)
//Output: The distance between the closest pair of points
d←∞
fori ←1 to n − 1 do
forj ←i + 1 to ndo
d←min(d, sqrt((xi− xj )2 + (yi− yj )2 )) //sqrt is square root
returnd
IIYEAR/IV SEMESTER
18
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
35. Design a brute -force algorithm for computing the value of a polynomial p(x)=a nx n +an -
n- 1
1x +-----+a1 x----a0 at a given point x0 and determine its worst case efficiency
class.(MAY2015) (C)
Number of multiplications needed in the worst case is
T(n) = n + n-1 + n-2 + … + 3 + 2 + 1
= n (n + 1)/2
=n2 /2 + n/2
This is an exact formula for the maximum number of multiplications. In general though, analyses
yield upper bounds rather than exact formulae. We say that the number of multiplications is on
the order of n2 , or O(n2 ).
36. Derive the complexity of Binary search algorithm. (MAY 2015) (Nov/Dec 2016) (R)
a. Cworst (n)=C worst ([n/2])+1 for n1, C worst (1)=1
b. C worst (2k )=k+1=log2 n+1
c. Cworst (n)=[log2 n]+1=[log2 (n+1)]
d. C worst (n)=[log2 n]+1=[log2 2i]+1=[log2 2+log2 i]+1
i. = (1+[log2 i])+1=[log2 i]+2
e. Cavg(n) log2 n.
Using Θ(n2) scalar additions and subtractions, compute 14 n/2 * n/2 matrices A1, B1, A2,
B2, …, A7, B7.
3.. Recursively compute the seven matrix products Pi =AiBi for i =1, 2, 7.
IIYEAR/IV SEMESTER
19
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
The efficiency analysis of many divide-and-conquer algorithms is greatly simplified by the use
of Master theorem.
41.What are the differences between dynamic programming and divide and conquer
approaches? (NOV/DEC 2018)
Divide and Conquer
Divide and Conquer works by dividing the problem into sub-problems, conquer each sub-
problem recursively and combine these solutions.
Dynamic Programming
Dynamic Programming is a technique for solving problems with overlapping subproblems. Each
sub-problem is solved only once and the result of each sub-problem is stored in a table (
generally implemented as an array or a hash table) for future references. These sub-solutions
may be used to obtain the original solution and the technique of storing the sub-problem
solutions is known as memoization.
44.What is the time and space complexity of Merge sort? (APR/MAY 2019)
Time complexity = θ(n log n)
Space complexity = n+log2 n
=θ(n)
IIYEAR/IV SEMESTER
20
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
45. Write the general divide and conquer approach to solve a problem. (APR/MAY 2021)
Divide-and-conquer algorithms work according to the following general plan:
1. A problem is divided into several subproblems of the same type, ideally of about equal
size.
2. The subproblems are solved (typically recursively, though sometimes a different
algorithm is employed, especially when subproblems become small enough).
3. If necessary, the solutions to the subproblems are combined to get a solution to the
original problem.
PART-B
1. Define divide and conquer to apply the technique in binary search algorithm and to analysis it.
(APR/MAY 2006) (APR/MAY 2017) (R)
2. Explain in detail in merge sort give an example (APR/MAY 2008) (MAY 2016). (R)
3. What is divide and conquer strategy and explain the binary search with suitable example
problem.(NOV/DEC 2011) (R)
4. Distinguish between Quick sort and Merge sort, and arrange the following numbers in
increasing order using merge sort. (18, 29, 68, 32, 43, 37, 87, 24, 47, 50) (NOV/DEC 2011)
(MAY/JUNE 2013). (A)
5. Trace the steps of Mergesort algorithm for the elements 122,25,70,175,89,90,95,102,123 and
also compute its time complexity.(NOV/DEC 2012) (A) (Nov 17) (Apr 18)
6. Explain brute-force approach. What are the advantages and disadvantages of this approach? ®
7. Write an algorithm to perform binary search on a sorted list of elements. Analyze the
algorithm for the best case, average case and worst case.(APR/MAY 2011). (AN)
8. Using the divide and conquer approach to find the maximum and minimum in a set of ‗n‘
elements. Also find the recurrence relation for the number of elements compared and solve the
same.(APR/MAY 2011). (A)
11. Write an efficient and exhaustive search algorithm for the travelling salesman problem? ®
12. Trace maximum and minimum (using divide and conquer) algorithm for the following set of
numbers. 20, 35, 18, 8, 14, 41, 3, 39,-20. (A)
IIYEAR/IV SEMESTER
21
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
13. Write a pseudo code using divide and conquer technique for finding the position of the
largest element in an array of N numbers. (A)
14. Sort the following set of elements using merge sort: 12, 24, 8, 71, 4, 23, 6, 89, and 56. (A)
15. Explain in detail quick sorting method. Provide a complete analysis of quick sort.
(APR/MAY 2008) (Nov/Dec 2016) (APR/MAY 2017) (AN)
16. Explain in detail the merge sort. Illustrate the algorithm with a numeric example. Provide
complete analysis of the same. (APR/MAY 2008) (AN)
17. (i) Solve the following using Brute force algorithm: (MAY 2015) (APR/MAY 2017)
Find whether the given string follows the special pattern and return 0 or 1 accordingly.
Examples:
1. Pattern: ―abba‖, input: ―redblueredblue‘ should return 1.
2. Pattern: ―aaaa‖, input: ―asdasdasdasd‖ should return 1.
3. attern: ―aabb‖, input: ―xyzabcxzyabc‖ should return 0.
(ii) Explain the convex hull problem and the solution involved behind it. (A)
18. A pair contains two numbers and its second number is on the right side of the first one in an
array. The difference of a pair is the minus result while subtracting the second number from the
first one. Implement a function which gets the maximal difference of all pairs in an array (using
divide and conquer method). (MAY/JUNE 2015) ®
19. Explain the method used for performing Multiplication of two large integers. Explain how
divide and conquer method can be used to solve the same. (MAY/JUNE 2016). (R)
20. Find all the solution to the traveling salesman problem (cities and distance shown below) by
exhaustive search. Give the optimal solutions. (MAY/JUNE 2016) (R)
21. There are 4 people who need to be assigned to execute 4 jobs (one person per job) and the
problem is to find the assignment with the minimum total cost. The assignment costs is given
below, solve the assignment problem by exhaustive search. (16) (NOV/DEC 2016) (A)
IIYEAR/IV SEMESTER
22
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
26. Write the algorithm for quick sort. Provide a complete analysis of quick sort for the given set
of numbers 12,33,23,43,44,55,64,77 and 76. (13)(NOV/DEC 2018)
27. What is the convex hull problem? Explain the brute force approach to solve convex-hull with
an example. Derive the time complexity. (2+7+4) (APR/MAY 2019)
28.Write the quick sort algorithm and explain it with an example. Derive the worst case and
average case time complexity. (5+4+4) (APR/MAY 2019)
29. a) i) Let x 1 < x2 < ... < x be real numbers representing coordinates of n villages
located along a straight road. a post office needs to be built in one of these
villages. Design an efficient algorithm to find the post-office location
minimizing the average distance between the villages and the post-office. (8)
ii) Explain how exhaustive search can be applied to the sorting problem and
determine the efficiency class of such an algorithm. (5) (APRIL/MAY 2021)
30. b) i) Write an algorithm using divide and conquer to search an element in a
list of numbers. if the number is not present, the algorithm returns the
closest number of the searches number. (8)
IIYEAR/IV SEMESTER
23
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
IIYEAR/IV SEMESTER
24
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
UNIT – III
DYNAM IC PROGRAM M ING AND GREEDY TECHNIQUE
Dynamic programming – Principle of optimality - Coin changing problem, Computing a
Binomial Coefficient – Floyd‗s algorithm – Multi stage graph - Optimal Binary Search Trees –
Knapsack Problem and Memory functions. Greedy Technique – Container loading problem -
Prim‗s algorithm and Kruskal's Algorithm – 0/1 Knapsack problem, Optimal Merge pattern -
Huffman Trees.
PART –A
1. Define dynamic programming. (APR/MAY 2017) (R)
Dynamic programming is an algorithm design method that can be used when asolution to
the problem is viewed as the result of sequence of decisions.
IIYEAR/IV SEMESTER
25
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
7. Give the time complexity and space complexity of traveling salesperson problem. (AN)
Time complexity is O (n2 2n ).
Space complexity is O (n 2n ).
IIYEAR/IV SEMESTER
26
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
14. Define the principle of optimality. (APR/M AY 2012) (NOV/DEC 2016) (R) (Nov 17)
It states that in an optimal sequence of decisions, each sub sequence must be optimal.
Touse dynamic programming the problem must observe the principle of optimality thatwhatever
the initial state is, remaining decisions must be optimal with regard the statefollowing from the
first decision.
15. Define 0/1 knapsack problem. (NOV/DEC 2008) (NOV/DEC 2012) (R)
The solution to the knapsack problem can be viewed as a result of sequence of decisions.
We have to decide the value of xi. xi is restricted to have the value 0 or 1 and by using the
function knap(l, j, y) we can represent the problem as maximum Σpi xi subject to Σwi xi < y
where l -iteration, j - number of objects, y – capacity.
16. What is the formula to calculate optimal solution in 0/1 knapsack problem? (R)
The formula to calculate optimal solution is g(m)=max{g1, g1(m-w1)+p1}.
IIYEAR/IV SEMESTER
27
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
an optimal binary search tree for which the average number of comparisons in a search is the
smallest possible.
21. Write down the optimization technique used for Warshalls algorithm. State the rules
and assumptions which are implied behind that. (MAY 2015) (R)
Warshalls algorithm constructs the transitive closure of given digraph with n vertices
through a series of n-by-n Boolean matrices. The computations in warshalls algorithm are given
by following sequences,
R(0),…,R(k-1) ,…,R(k),…,R(n)
Rules:
1.Start with computation of R(0). In R(0) any path with intermediate veritices is not allowed. That
means only direct edges towards the vertices are considered. In other words the path length of
one edge is allowed in R(0). Thus R(0) is adjacency matrix for the digraph.
2. Construct R(1) in which first vertex is used as intermediate vertex and a path length of two
edge is allowed. Note that R(1) is build using R(0)which is already computed.
3. Go on building R(k) by adding one intermediate vertex each time and with more path length.
Each R(k) has to be built from R(k-1)
4. The last matrix in this series is R(1), in this R(n) all the n vertices are used as intermediate
vertices. And the R(n) which is obtained is nothing but the transitive closure of given digraph.
22. List out the memory functions used under Dynamic programming. (MAY 2015) (R)
Memory functions solve in a top-down manner only sub problems that are necessary.
Memory functions are an improvement of dynamic programming because they only solve sub
problems that are necessary and do it only once. However they require more because it makes
recursive calls which require additional memory.
Greedy Algorithm
Branch and Bound
Genetic Algorithm
IIYEAR/IV SEMESTER
28
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
23. Define the single source shortest path problem. (MAY\JUNE 2016) (R)
Dijkstra‘s algorithm solves the single source shortest path problem of finding shortest
paths from a given vertex( the source), to all the other vertices of a weighted graph or digraph.
Dijkstra‘s algorithm provides a correct solution for a graph with non-negative weights.
24. How to calculate the efficiency of dijkstra’s algorithm. (NOV/DEC 16) (R)
The time efficiency depends on the data structure used for implementing the
priority queue and for representing the input graph. It is in θ (|V|)2 for graphs represented by
their weight matrix and the priority queue implemented as an unordered array. For graphs
represented by their adjacency linked lists and the priority queue implemented as a min_heap it
is in O(|E|log|V|).
25. State the general principle of greedy algorithm. (NOV/DEC 16) (R)
A greedy algorithm is an algorithmic paradigm that follows the problem solving
heuristic of making the locally optimal choice at each stage with the hope of finding a global
optimum.
IIYEAR/IV SEMESTER
29
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
30
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
– 10 cents
– 5 cents
– 1 cent
Problem:
Make a change of a given amount using the smallest possible number of coins.
Solution:
The coin is selected using greedy criterion: at each stage increases the total amount of change
constructed as much as possible.
To assure feasibility i.e., the change given exactly equals the desired amount of the solution
IIYEAR/IV SEMESTER
31
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
A child buys a candy bar at less than one buck and gives a $1 bill to the cashier, who wants to
make a change using the smallest number of coins. The cashier constructs the change in stages,
in each of which a coin is added to the change.
The greedy criterion is as follows: At each stage, increase the total amount as much as possible.
A feasible solution is one such that in no stage the amount paid out so far exceeds the desired
change.
For example, if the desired change is 67 cents.The first two stages will add in two quarters.
The next one adds a dime, and following one will add a nickel, and the last two will finish off
with two pennies.
Merge a set of sorted files of different length into a single sorted file. We need to find an
optimal solution, where the resultant file will be generated in minimum time.
If the number of sorted files are given, there are many ways to merge them into a single sorted
file. This merge can be performed pair wise. Hence, this type of merging is called as 2-way
merge patterns.
IIYEAR/IV SEMESTER
32
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
In an optimal sequence of decisions or choices, each subsequence must also be optimal. When it
is not possible to apply the principle of optimality it is almost impossible to obtain the solution
using the dynamic programming approach.
Example: Finding of shortest path in a given graph uses the principle of optimality.
45.What is the constraint for binary search tree insertion? (APR/MAY 2019)
T he root of a binary search tree and values to be inserted into the tree. Insert the values into their
appropriate position in the binary search tree and return the root of the updated binary tree.
Input Format:
Node * insert (Node * root ,int data) {
}
Constraints
33
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
47. Write the control abstraction for greedy method. (APR/MAY 2021)
MakeEmpty(solution);
x = Select(A);
if F easible(solution, x) then
return solution
The function Greedy describes the essential way that a greedy algorithm will look, once a
particular problem is chosen and the functions Select, F easible and Union are properly
implemented.
PART –B
1. (i)Write an algorithm to construct the optimal binary search tree (or) Discuss the algorithm for
finding a minimum cost binary search trees.(8)
(ii) Explain how dynamic programming is applied to solve travelling salesperson problem.
(APR/MAY 2010)(NOV/DEC 2012)(8) (R)
2. Describe traveling sales man problem and how to solve using dynamic programming
(may/2006). (APR/MAY2009) (APR/MAY 2012) (R)
3. Write an algorithm for all pairs shortest path algorithm and what are the time and space
complexity of the algorithm. (APIRL/MAY2009) (APRIL/MAY 2012) (R)
4. To consider the following instance of the knapsack problem n=6,(p1,p2,p3,p4,p5,p6)
=(w1,w2,w3,w4,w5,w6)=(100,50,20,10,10,7,3) m=165 To use dynamic programming
technique to solve the problem. (A)
IIYEAR/IV SEMESTER
34
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
5. Explain Floyd algorithm with example. Write down and explain the algorithm to solve all
pairs shortest paths problem. (APRIL/MAY 2010)(MAY/JUNE 2013). (R)
6. Using Dynamic approach programming, solve the following graph using the backward
approach.(APRIL/MAY2011) (A)
7. Write dynamic programming solution for the travelling salesperson problem for the network
with the cost adjacency matrix (E)
0 10 15 30
4 0 9 11
5 13 0 10
7 7 8 0
8. Describe binary search tree with three traversal patterns? Give suitable example with neat
diagram for all three traversal of binary search? (R)
9. With a suitable example, explain all-pair shortest paths problem. (R)
10. How is dynamic programming applied to solve the travelling salesperson problem? Explain
in detail with an example? (R)
11. (i) Given the mobile numeric key pad. You can only press buttons that are up , left, right or
down to the first number pressed to obtain the subsequent numbers. You are not allowed to
press bottom row corner buttons (ie * and #). Given a number N, how many key strokes will
be involved to press the given number. What is the length of it? Which dynamic
programming technique could be used to find solution for this? Explain each step with the
help of a pseudo code and derive its time complexity. (12) (MAY 2015) (AN)
(ii) How do you construct a minimum spanning tree using Kruskals algorithm? Explain?(4)
(MAY 2015) (R)
35
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
13. Discuss about the algorithm and pseudocode to find the Minimum Spanning Tree using
Prim‘s Algorithm. Find the Minimum Spanning Tree for the graph. Discuss about the
efficiency of the algorithm.(MAY\JUNE 2016) (C) (Apr 18)
14. Solve the all-Pairs shortest-path problem for the diagraph with the following weight matrix:
15. Apply Kruskal‘s algorithm to find a minimum spanning tree of the following graph.
16. Solve the following instance of 0/1, knapsack problem gives the knapsack capacity in W -5
using dynamic programming and explain it. (APR/AMY 2017) (A)
17. Write the Huffman‘s Algorithm. Construct the Huffman‘s tree for the following data and
obtain its Huffman‘s Code. (APR/AMY 2017) (A)
Characters A B C D E _
Probability 0.5 0.35 0.5 0.1 0.4 0.2
18. Explain the working of merge sort algorithm with an example? (R) (NOV/DEC 2017)
19. Explain the Dijkstra‘s shortest path algorithm and its efficiency.( R) (NOV/DEC 2017)
20. Find the Hamiltonian circuit or disprove its existence in the graph below. (NOV/DEC
2017)
IIYEAR/IV SEMESTER
36
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT
OF IT
21. Explain the steps in building a Huffman Tree. Find the codes for the alphabets given below
as according to frequency (NOV/DEC 2017)
A 2
E 5
H 1
I 2
L 2
M 2
P 2
R 1
S 2
X 1
22. Explain the memory function for the knapsack problem and give the algorithm.
(APR/MAY 2018)
23. Apply Warsha l‘s algorithm to find the transitive closure of the digraph defined by the
following adjacency matrix
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
(i) Prove that the time efficiency of Warsha l‘s algorithm is cubic.(7) (APR/MAY
2018)
(ii) Explain why the time efficiency of Warsha l‘s algorithm is inferior to that of the
traversal based algorithm for spare graphs represented by their adjacency lists.(
IIYEAR/IV SEMESTER
37
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
APR/MAY 2018)
24.Explain Floyds –Warshall algorithm using dynamic programming. Trace the algorithm for
the given example. (NOV/DEC 2018)
25.Exaplain how greedy approach is used in Dijkstras algorithm for finding the sinlge-souce
shortest paths for the given graph. (NOV/DEC 2018)
26. Apply the greedy technique to find the minimum spanning tree using Prim‘s algorithm for
the given graph. (NOV/DEC 2018)
27.(i) Write the Floyd algorithm to find all pairs shortest path and derive its time complexity.
IIYEAR/IV SEMESTER
38
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF
IT
IIYEAR/IV SEMESTER
39
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT
OF IT
28.(i) Write the Huffman code algorithm and derive its time complexity. (5+2) (APR/MAY
2019)
(ii) Generate the Huffman code for the following data comprising of alphabet and their
frequency.(6) (APR/MAY 2019)
a:1,b:1,c:2,d:3,e:5,f:8,g:13,h:21
29. a) i) compare and contrast dynamic programming and greedy method. (5)
ii) Write the algorithm for optimal binary search tree and solve the following
problem instance to construct the optimal binary search tree. Keys are
a, b, c, d and the probabilities are 0.1, 0.2, 0.4 and 0.3. (8) (APR/MAY 2021)
30. b) i) Write the prim‘s algorithm to find the minimum spanning tree and
illustrate the algorithm for the following graph. Where a, b, c, d and e are
nodes and each edges are weighted by numbers. (8) (APR/MAY 2021)
ii) What is multistage graph ? List any three applications of multistage graph. (5)
IIYEAR/IV SEMESTER
40
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
UN IT IV ITERATIVE IM
PROVEM ENT
The Simplex Method - The Maximum-F low Problem – Maximum Matching in Bipartite Graphs,
Stable marriage Problem.
PART - A
IIYEAR/IV SEMESTER
41
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
9. What do you meant by perfect matching in bipartite graph? (APR/MAY 2017) (R)
When there are an equal number of nodes on each side of a bipartite graph, a perfect
matching is an assignment of nodes on the left to nodes on the right, in such a way that
i)each node is connected by an edge to the node it is assigned to, and
ii)no two nodes on the left are assigned to the same node on the right
11. State Extreme point theorem. (MAY\JUNE 2016) (R) (Nov 17)
Extreme point theorem states that if S is convex and compact in a locally convex
space, then S is the closed convex hull of its extreme points: In particular, such a set has
extreme points. Convex set has its extreme points at the boundary. Extreme points should be
the end points of the line connecting any two points of convex set.
IIYEAR/IV SEMESTER
42
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
It contains only one vertex with no entering edges called as source and assumed to be 1.
It contains only one vertex at end with no leaving edges called as sink and assumed as n.
The weight uij of each directed edge (i, j) is a positive integer, called as edge capacity.
43
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
19. What are the essential properties of a flow graph ?(APR/MAY 2021)
Flow graph is a directed graph. It contains the flow of control information for the set of basic
block. A control flow graph is used to depict that how the program control is being parsed among
the blocks. It is useful in the loop optimization.
20. What is meant by iterative improvement technique ? (APR/MAY 2021)
Linear programming problem (LPP) is to optimize a linear function of several variables subject
to linear constraints: maximize (or minimize) c1 x1 + ...+ cn xn subject to ai 1x1+ ...+ ain xn ≤
(or ≥ or =) bi , i = 1,...,m x1 ≥ 0, ... , xn ≥ 0 The function z = c1 x1 + ...+ cn xn is called the
objective function; constraints x1 ≥ 0, ... , xn ≥ 0 are ca led nonnegativity constraints.
PART –B
1. Explain the following: (R)
a. Blocking pair
b. Stable Marriage Problem
2. Write a pseudocode for the stable marriage algorithm. (R)
3. Determine the time-efficiency class of the stable marriage algorithm (AN)
In the worst case
In the best case
4. Explain the algorithm for Maximum Bipartite Matching. (R)
5. Explain in detail about simplex algorithm method. (APR/MAY 2017) (R)
6. Example Geometric Interpretation of Linear Programming. (R)
7. Explain Extreme Point Theorem? (R)
8. Write a report on the following: (R)
Two-phase simplex method.
Ellipsoid method.
Bland‘s rule
Teasible and optimal solutions
9. (i)Maximize p=2x+3y+z (MAY 2015) (E)
Subject to x+y+z≤40
2x+y-z≥10
-y+z≥10
x≥0,y≥0,z≥0
(ii) Write down the optimally condition and algorithmic implementation for finding M-
augmenting paths in bipartite graphs. (MAY 2015) (R)
10. (i)Briefly describe on the Stable marriage problem. (MAY 2015) (R) (Nov 17)
(ii)How do you compute maximum flow for the following graph using Ford-Fulkerson
method? (MAY 2015) (E)
u v
IIYEAR/IV SEMESTER
44
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
x y
IIYEAR/IV SEMESTER
45
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
11. Summarize the Simplex method. (MAY\JUNE 2016) (R) ( Nov 17) (Apr 18)
12. State and Prove Maximum Flow Min cut Theorem. (MAY\JUNE 2016) (R)
13. Apply the shortest Augmenting Path algorithm to the network shown below. (MAY\JUNE
2016) (A)
14. Explain KMP string matching algorithm for finding a pattern on the text, a analysis the
algorithm. (APR/MAY 2017) (R)
15. (i) State and prove Max-Flow Min-Cut Theorem. (8) (NOV/DEC 2016) (R)
(ii) Summarize the steps of simplex method. (8) (NOV/DEC 2016) (R)
16. (i) Explain briefly about stable marriage algorithm.(10) (NOV/DEC 2016) (R) (APR/MAY
2018)
(ii)Determine the time- efficiency class of the stable marriage algorithm (6) (NOV/DEC
2016)(E)
17.Illustrate the steps of the simplex methods with an example. (13)(NOV/DEC 2018)
18.Write the stable marriage algorithm and trace it with an instances. Analyze its running time
complexity. (13)(NOV/DEC 2018)
20.Solve the following set of equations using simplex algorithm: (13)(APR/MAY 2019)
IIYEAR/IV SEMESTER
46
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT
OF IT
21. a) i) Find a stable marriage matching for the instance defined by the following
ranking matrix : (8) (APR/MAY 2021)
ii) Determine the time efficiency of the above algorithm in the worst case. (5)
(APR/MAY 2021)
b) advertising alternatives for a company include television, radio and newspaper.
The table below shows the costs and estimates of audience coverage for each
types of media.
IIYEAR/IV SEMESTER
47
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
UN IT V
COPING WITH THELIM ITATIONS OFALGORITHMPOWER
Lower - Bound Arguments - P, NP NP- Complete and NP Hard Problems. Backtracking – n-
Queen problem - Hamiltonian Circuit Problem – Subset Sum Problem. Branch and Bound –
LIFO Search and FIFO search - Assignment problem – Knapsack Problem – Travelling
Salesman Problem - Approximation Algorithms for NP-Hard Problems – Travelling Salesman
problem – Knapsack problem.
PART - A
2.What are the factors that influence the efficiency of the backtracking
algorithm?(APRIL/MAY 2008) (R)
The efficiency of the backtracking algorithm depends on the following four
factors. They are:
i. The time needed to generate the next xk
ii. The number of xk satisfying the explicit constraints.
iii. The time for the bounding functions Bk
iv. The number of xk satisfying the Bk.
IIYEAR/IV SEMESTER
48
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
14. When can a node be terminated in the subset-sum problem?(NOV/DEC 2008) (R)
The sum of the numbers included are added and given as the value for the root as s‘. The
node can be terminated as a non-promising node if either of the two equalities holds:
s‘+si+1>d (the sum s‘ is too large)
n
j i _ 1
sj d (the sum s‘ is too sma l)
49
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
X[i+1] = x
Backtrack(X[1..i+1])
17. What is the method used to find the solution in n-queen problem by symmetry? (R)
The board of the n-queens problem has several symmetries so thatsome solutions can be
obtained by other reflections. Placements in the lastn/2 columns need not be considered, because
any solution with the first queen in square can be obtained by reflection from a solutio nwith the
first queen in square (1,n-i+1)
22. What is a promising node in the state -space tree? (R) (Nov 17)
A node in a state-space tree is said to be promising if it corresponds toa partially
constructed solution that may still lead to a complete solution.
23. What is a non-promising node in the state -space tree? (R) (Nov 17)
A node in a state-space tree is said to be promising if it corresponds toa partially
constructed solution that may still lead to a complete solution;
otherwise it is called non-promising.
IIYEAR/IV SEMESTER
50
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
The tree organization of the solution space is referred to as state space tree.
29. When can a search path are terminated in a branch-and-bound technique. (R)
A search path at the current node in a state-space tree of a branch and-bound algorithm can
be terminated if the value of the node‘s bound is not better than the value of the best solution
seen so far the node represents no feasible solution because the constraints of the problem are
already violated. The subset of feasible solutions represented by the node consists of asingle
point in this case compare the value of the objective function for this feasible so lution with that
of the best solution seen so far andupdate the latter with the former if the new solution is better.
30.Give the formula used to find the upper bound for knapsack problem.
A simple way to find the upper bound ‗ub‘ is to add ‗v‘, the total valueof the items already
selected, the product of the remaining capacity of theknapsack W-w and the best per unit payoff
among the remaining items, whichis vi+1/wi+1, ub = v + (W-w)( vi+1/wi+1)
IIYEAR/IV SEMESTER
51
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
If there is a polynomial algorithm for any NP-hard problem, then there are polynomial
algorithms for all problems in NP, and hence P = NP.
If P ≠ NP, then NP-hard problems cannot be solved in polynomial time, while P = NP does
not resolve whether the NP-hard problems can be solved in polynomial time.
These are the problems that are even harder than the NP-complete problems. Note that
NP-hard problems do not have to be in NP, and they do not have to be decision problems.
The precise definition here is that a problem X is NP-hard, if there is an NP-complete
problem Y, such that Y is reducible to X in polynomial time.
But since any NP-complete problem can be reduced to any other NP-complete problem
in polynomial time, all NP-complete problems can be reduced to any NP-hard problem in
polynomial time. Then, if there is a solution to one NP-hard problem in polynomial time,
there is a solution to all NP problems in polynomial time.
IIYEAR/IV SEMESTER
52
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
27. What is The Euclidean minimum spanning tree problem? (MAY\JUNE 2016) (R) (Apr
18)
The Euclidean minimum spanning tree or EMST is a minimum spanning tree of a set of n
Points in the plane where the weight of the edge between each pair of points is the Euclidean
distance between those two points. In simpler terms, an EMST connects a set of dots using lines
such that the total length of all the lines is minimized and any dot can be reached from any other
by following the lines.
IIYEAR/IV SEMESTER
53
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
NP- Non deterministic Polynomial time solving. Problem which can't be solved in polynomial
time like TSP( travelling salesman problem)
30. Write the formula for decision tree for searching a sorted array? (NOV/DEC 2016) (R)
31. State the reason for terminating search path at the current node in branch and bound
algorithm. (NOV/DEC 2016) (R)
The value of the node‗s bound is not better than the value of the best solution seen
so far.
The node represents no feasible solutions because the constraints of the problem are
already violated.
The subset of feasible solutions represented by the node consists of a single point
(and hence no further choices can be made)—in this case we compare the value of
the objective function for this feasible solution with that of the best solution seen so
far and update the latter with the former if the new solution is better.
IIYEAR/IV SEMESTER
54
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
40.What is Lc search and how it is efficient from other search methods in branch
and bound algorithms ? (APR/MAY 2021)
The selection rule for the next E-node does not give any preference to a node that has a very
good chance of getting the search to an answer node quickly. The search for an answer node can
be speeded by using an ―intelligent‖ ranking function c( ∙) for live nodes.
PART –B
2. Apply backtracking technique to solve the following instance of subset sum problem :
S={1,3,4,5} and d=11(NOV/DEC 2006) (AN)
IIYEAR/IV SEMESTER
55
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
3. Explain subset sum problem & discuss the possible solution strategies using backtracking.
(R)
4. Write a recursive backtracking algorithm to find all the Hamiltonian cycles of a given graph.
(APIRL/MAY2009) (NOV/DEC 2008) (E)
8. Explain the algorithm for finding all m-colorings of a graph.(APRIL/MAY 2012) (R)
11. Explain the n-Queen‘s problem and trace it for n=6.(APRIL/MAY 2011) (A)
15.(i) Give the backtracking algorithm for knapsack problem. (MAY/JUNE 2013) (8)
(ii) Explain elaborately recursive backtracking algorithm. (8) (R)
16. Using backtracking, find the optimal solution to a knapsack problem for the knapsack
instance n=8, m=110,(p1…p7)=(11,21,31,33,43,53,55,65) and
(w1…w7)=(1,11,21,33,43,53,55,65). (A)
17. Write an algorithm to determine Hamiltonian cycle in a given graph using back tracking.
For the following graph determine the Hamiltonian cycle. (A)
A B
IIYEAR/IV SEMESTER
56
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
C F
D E
IIYEAR/IV SEMESTER
57
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
18. Write an algorithm to determine the Sum of Subsets for a given sum and a Set of numbers.
Draw the tree representation to solve the subset sum problem given the numbers set as {3, 5,
6, 7, 2} with the sum=15. Derive all the subsets. (A)
19. Write an algorithm for N QUEENS problem and Trace it for n=6. (R)
21. (i)Suggest an approximation algorithm for travelling salesperson problem. Assume that the
cost function satisfies the triangle inequality. (MAY 2015) (R)
(ii)Explain how job assignment problem could be solved, given n tasks and n agents where
each agent has a cost to complete each task, using branch and bound. (MAY 2015) (AN)
22. (i)The knight is placed on the first block of an empty board and, moving according to the
rules of chess, must visit each square exactly once. Solve the above problem using
backtracking procedure. (MAY 2015) (AN)
(ii)Implement an algorithm for Knapsack problem using NP-Hard approach. (MAY 2015)
(R)
23. State the subset-sum problem and Complete state-space tree of the backtracking algorithm
applied to the instance A={3, 5, 6, 7} and d=15 of the subset-sum problem.(MAY\JUNE
2016) (A)
24. (i) Draw a decision tree and find the number of key comparisons in the worst and average
cases for the three element bubble sort. (8) (NOV/DEC 2016) (AN)
( i) Write backtracking algorithm for 4 queen‘s problem and discuss the possible solution. (8)
(NOV/DEC 2016) (R)
25. Solve the following instance of knapsack problem by branch and bound algorithm W=
15.(16) (NOV/DEC 2016) (AN)
1 5 40
2 7 35
3 2 18
IIYEAR/IV SEMESTER
58
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
4 4 4
5 5 10
6 1 2
26. Discuss the approximation algorithm for NP hard problem? (NOV/DEC 2016) (R)
27. Apply Branch and bound algorithm to solve the travelling salesman problem. (NOV/DEC
2016) (A)
28. Give the methods for Establishing Lower Bound. (NOV/DEC 17)
29. Find the optimal solution using branch and bound for the following assignment problem.
30. What is class NP? Discuss about any five problems for which no polynomial time for TSP
problem. (APR/MAY 2018)
31. Elaborate on the nearest-neighbor algorithm and multifragment- heuristic algorithm for TSP
problem. (APR/MAY 2018)
32. Consider the travelling salesperson instances defined by the following cost matrix.
(NOV/DEC 2018)
Draw the state space and show the reduced matrices corresponding to each of the node.
(13)(NOV/DEC 2018)
33. Discuss the approximation algorithm for NP-hard problem. (13)(NOV/DEC 2018)
34. Write an algorithm to solve the travelling salesman problem and prove that it is a 2 time
approximation algorithm.(13)(APR/MAY 2019)
IIYEAR/IV SEMESTER
59
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
35. Write an algorithm for subset sum and explain with an example. (13)(APR/MAY 2019)
36.Explain the 4-queens problem using backtracking. Write the algorithms . Giv the estimated
cost for all possible solutions of 4-queens problem.Specify the implicit and explicit constrints.
(APR/MAY 2019)
36. 15. a) i) What are the general approaches exit for branch and bound algorithms ?
also explain the data structure need for storing live nodes in each approach
with suitable example. (5)
ii) Write the algorithm for solving 0/1 knapsack problem using Lc branch
and bound and solve the knapsack instance ; n = 4; (p1, p2, p3, p4) = (10,
10, 12, 18); (w1, w2, w3, w4) = (2, 4, 6, 9) and m = 15, using LcBB, Draw
the state space tree. (8) (APR/MAY 2021)
37. b) i) Write the algorithm for sum of subsets problem using backtracking technique. (8)
ii) illustrate the algorithm for the instance n = 6, m = 30 and W = (5, 10, 12,
13, 15, 18). Draw possible state space tree. (5) (APR/MAY 2021)
38. a) i) assume {500, 100, 50, 20, 10, 5} currency of denominations is available
in a bank. Devise a greedy algorithm to obtain the minimum number of
denominations for any amount which is a multiple of 5. Find the time
complexity of your algorithm. (5)
ii) Explain the maximum-bipartite-matching problem with an illustration. (5)
iii) Prove that TsP problem is NP complete, assuming that hamiltonian
problem is NP complete. (5) (APR/MAY 2021)
b.i) solve the TsP using branch and bound technique. (APR/MAY 2021)
ii) Explain the operations of approximate vertex cover and give an example of
a graph for which aPPRox-vERTEx-covER always yields a suboptimal
solution. (APR/MAY 2021)
COURSE OUTCOMES: Ability to apply algorithm design techniques to solve certain NP-
complete problems.
IIYEAR/IV SEMESTER
60
PANIMALAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF IT
CO.2 1 2 3 3 - - - - - - - 1
CO.3 1 3 2 2 - - - - - - - 1
CO.4 2 3 2 3 - - - - - - - 1
CO.5 3 3 2 2 - - - - - - - 1
CO.2 1 2 1
CO.3 1 2 1
CO.4 1 1 2
CO.5 1 3 3
CO 1 2.2 2
IIYEAR/IV SEMESTER
61