Design and Analysis of Algorithm
Design and Analysis of Algorithm
Design and Analysis of Algorithm
net
PART A
UNIT – I
INTRODUCTION
3. What are important problem types? (or) Enumerate some important types of problems?
(i) Sorting (ii) Searching (iii) Numerical problems (iv) Geometric problems (v) Combinatorial
Problems (vi) Graph Problems (vii) String processing Problems
www.AUNewsBlog.net
www.AUNewsBlog.net
Measuring the performance of an algorithm in relation with the input size n is known as order of
growth
11. Compare the order of growth n(n-1)/2 and n2. [May/June 2016]
n n(n-1)/2 n2
Polynomial Quadratic Quadratic
1 0 1
2 1 4
4 6 16
8 28 64
10 45 102
102 4950 104
Complexity Low High
Growth Low high
n(n-1)/2 is lesser than the half of n2
15. What do you mean by time complexity and space complexity of an algorithm? [Nov/Dec 2012]
Time complexity indicates how fast the algorithm runs. Space complexity deals with extra memory
it require. Time efficiency is analyzed by determining the number of repetitions of the basic operation as a
function of input size. Basic operation: the operation that contributes most towards the running time of the
algorithm The running time of an algorithm is the function defined by the number of steps (or amount of
memory) required to solve input instances of size n.
www.AUNewsBlog.net
www.AUNewsBlog.net
17. What are the different criteria used to improve the effectiveness of algorithm?
The effectiveness of algorithm is improved, when the design, satisfies the following constraints to be
minimum.
Time efficiency - how fast an algorithm in question runs.
Space efficiency – an extra space the algorithm requires
The algorithm has to provide result for all valid inputs.
18. Give the Euclid’s algorithm for computing gcd(m, n) [May/June 2016]
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.
www.AUNewsBlog.net
www.AUNewsBlog.net
24. What is performance measurement?
Performance measurement is concerned with obtaining the space and the time requirements of a
particular algorithm.
35. Write an algorithm to find the number of binary digits in the binary representation of a positive
decimal integer. [April/May 2015]
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]
www.AUNewsBlog.net
www.AUNewsBlog.net
return count
37. What are six steps processes in algorithmic problem solving? [Nov/Dec 2009]
Understanding the problem
Decision making on - Capabilities of computational devices, Choice of exact or approximate problem
solving, Data structures
Algorithmic strategies
Specification of algorithm
Algorithmic verification
Analysis of algorithms
40. What are the components of fixed and variable part in space complexity? The space requirements
S(p) is given by following formula
S(p)= C + Sp
C - fixed part that denotes the space of inputs and outputs, this space is the amount of space taken by
instructions, variables and identification
Sp - denotes variable part of the space. It denotes the space requirements based on particular problem
instance
www.AUNewsBlog.net
www.AUNewsBlog.net
The function f(n) =θ (g(n)) iff there exist positive constant C1, C2, and no such that C1 g(n)≤ f(n)
≤ C2 g(n) for all n, n ≥ n0.
51. List the factors which affects the running time of the algorithm.
A. Computer
B. Compiler
C. Input to the algorithm
i. The content of the input affects the running time
ii. Typically, the input size is the main consideration.
52. What are the three different algorithms used to find the gcd of two numbers?
The three algorithms used to find the gcd of two numbers are
1. Euclid's algorithm
www.AUNewsBlog.net
www.AUNewsBlog.net
2. Consecutive integer checking algorithm
3. Middle school procedure
Sorting
Searching
String processing
Graph problems
Combinatorial problems
Geometric problems
Numerical problems
55. What are the fundamental steps involved in algorithmic problem solving?
The fundamental steps are
Understanding the problem
Ascertain the capabilities of computational device
Choose between exact and approximate problem solving
Decide on appropriate data structures
Algorithm design techniques
Methods for specifying the algorithm
Proving an algorithms correctness
Analyzing an algorithm and Coding an algorithm
56. Give an non-recursive algorithm to find out the largest element in a list of n numbers.
ALGORITHM MaxElement(A[0..n-1])
//Determines the value of the largest element in a given array
Input:An array A[0..n-1] of real numbers
//Output: The value of the largest element in A maxval  a[0]
for I  1 to n-1 do
if A[I] > maxval return maxval
 A[I] return maxval
59. Write a recursive algorithm for computing the nth fibonacci number.
ALGORITHM F(n)
// Computes the nth Fibonacci number recursively by using the definition
// Input A non-negative integer n
// Output The nth Fibonacci number
www.AUNewsBlog.net
www.AUNewsBlog.net
if n 1 return n
else return F(n-1)+F(n-2)
T(n) = g(n)
PART- B
UNIT-I
1. What are the important problem types focused by the researchers? Explain all the types with example
2. What is empirical analysis of an algorithm? Discuss its strength and weakness.
3. Discuss the fundamentals of analysis framework.
4. Explain the various asymptotic notations used in algorithm techniques.
5. Describe briefly the notions of complexity of algorithm.
6. What is pseudo code? Explain with an example.
7. Explain various criteria used for analyzing algorithms.
8. Discuss briefly the sequence of steps in designing and analyzing algorithm
9. Develop the general framework for analyzing the efficiency of algorithm
10. Explain the fundamentals of algorithmic problem solving with algorithm design and analysis process
diagram
11. Elaborate the simple factoring algorithm with example .
12. Discuss the Euclid’s algorithm with example.
13. Outline the steps in analyzing & coding an algorithm.
14. Explain some of the problem types used in the design of algorithm.
15. Discuss the fundamentals of analysis framework.
16. Elaborate the various asymptotic notations used in algorithm design.
17. Explain the general framework for analyzing the efficiency of algorithm.
18. Outline the various Asymptotic efficiencies of an algorithm.
19. Discuss the basic efficiency classes.
20. Explain briefly the concept of algorithmic strategies.
21. Describe briefly the notions of complexity of an algorithm.
22. What is Pseudo-code? Explain with an example.
23. Find the complexity C(n) of the algorithm for the worst case, best case and average case. (Evaluate
average case complexity for n=3, Where n is the number of inputs)
24. Set up & solve a recurrence relation for the number of key comparisons made by above pseudo code.
UNIT – II
BRUTE FORCE AND DIVIDE AND CONQUER
1. Define the divide and conquer method.
www.AUNewsBlog.net
www.AUNewsBlog.net
Given a function to compute on ‘n’ inputs the divide-and-conquer strategy suggests splitting the
inputs in to’k’ distinct susbsets, 1<k <n, yielding ‘k’ sub problems. The sub problems must be solved, and
then a method must be found to combine sub solutions into a solution of the whole. If the sub problems are
still relatively large, then the divide-and conquer strategy can possibly be reapplied.
6. Derive the complexity of Binary Search algorithm. [April/May 2015, Nov/Dec 2016]
In conclusion we are now able completely describe the computing time of binary search by giving
formulas that describe the best, average and worst cases.
Successful searches Unsuccessful searches
Best case - (1) Best case, Average case, Worst case - (log 2 n)
Average case - (log 2 n)
Worst case - (log 2 n)
10. Give the General strategy divide and conquer method. [May/June 2016]
A divide and conquer algorithm works by recursively breaking down a problem into two or more
sub-problems of the same (or related) type (divide), until these become simple enough to be solved directly
(conquer).
Divide-and-conquer algorithms work according to the following general plan:
A problem is divided into several subproblems of the same type, ideally of about equal size.
The subproblems are solved (typically recursively, though sometimes a different algorithm is
employed, especially when subproblems become small enough).
If necessary, the solutions to the subproblems are combined to get a solution to the original
problem.
Example: Merge sort, Quick sort, Binary search, Multiplication of Large Integers and Strassen’s Matrix
Multiplication.
11. What is the Quick sort? Write the Analysis for the Quick sort.
Quicksort is dividing and conquer strategy that works by partitioning its input elements according
to their value relative to some preselected element (pivot). It uses recursion and the method is also called
partition –exchange sort. O(nlogn) in average and best cases, O(n2) in worst case
12. What is Merge sort and is insertion sort better than the merge sort?
Merge sort is divide and conquer strategy that works by dividing an input array in to two halves, sorting
them recursively and then merging the two sorted halves to get the original array sorted Insertion sort
works exceedingly fast on arrays of less than 16 elements, though for large ‘n’ its computing time is O(n2).
www.AUNewsBlog.net
www.AUNewsBlog.net
T(n)=a.T(n/b)+f(n)
www.AUNewsBlog.net
www.AUNewsBlog.net
Given n inputs and we are required to form a subset such that it satisfies some given constraints
then such a subset is called feasible solution. A feasible solution either maximizes or minimizes the given
objective function is called as optimal solution
23. Define the single source shortest path problem. [May/June 2016]
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.
27. Give the benefit of application of brute force technique to solve a problem.
With the application of brute force strategy, the first version of an algorithm obtained can often be
improved with a modest amount of effort. So a first application of the brute force approach often results in
an algorithm that can be improved with a modest amount of effort.
30. What is the difference between quick sort and merge sort?
Both quicksort and mergesort use the divide-and-conquer technique in which the given array is
partitioned into sub arrays and solved. The difference lies in the technique that the arrays are partitioned.
For mergesort the arrays are partitioned according to their position and in quicksort they are partitioned
according to the element values.
www.AUNewsBlog.net
www.AUNewsBlog.net
UNIT - II
PART -B
1. Discuss the general plan for analyzing the efficiency of non recursive algorithms.
2. Write an algorithm for a given numbers to n generate the nth number of the Fibonacci sequences.
3. Explain the necessary steps for analyzing the efficiency of recursive algorithms.
4. Write short notes on algorithm visualization.
5. Design a recursive algorithm to compute the factorial function F(n) =n! for an arbitrary non negative
integer n also derive the recurrence relation.
6. Explain the general plan for mathematical analysis of recursive algorithms with example.
7. Explain algorithm visualization with examples.
8. Write an algorithm to find the number of binary digits in the binary representation of a positive decimal
integer and analyze its efficiency
9. Write an algorithm for finding of the largest element in a list of n numbers.
10. Differentiate mathematical analysis of algorithm and empirical analysis of algorithm.
11. Explain static algorithm visualization and dynamic algorithm visualization with example.
12. Explain algorithm animation with example
13. Write a pseudo code for divide & conquer algorithm for merging two sorted arrays in to a single
sorted one. Explain with example.
14. Construct a minimum spanning tree using Kruskal’s algorithm with your own example.
15. Explain about Knapsack Problem with example
16. Explain Dijikstra algorithm
17. Define Spanning tree. Discuss design steps in Prim’s algorithm to construct minimum spanning tree
with an example.
18. Explain Kruskal’s algorithm.
19. Explain about binary search with example.
www.AUNewsBlog.net
www.AUNewsBlog.net
UNIT – III
DYNAMMIC PROGRAMMING AND GREEDY TECHNIQUE
1. Define greedy method.
Greedy method is the most important design technique, which makes a choice that looks best at that
moment. A given ‘n’ inputs are required us to obtain a subset that satisfies some constraints that is the
feasible solution. A greedy method suggests that one can device an algorithm that works in stages
considering one input at a time.
2. Write down the optimization technique used for Warshall’s algorithm. State the rules and
assumptions which are implied behind that. [April/May 2015]
Warshall’s algorithm constructs the transitive closure of the given diagraph with n vertices through
a series of n by n Boolean matrices. This computation is done as follows
(0) (k 1) (k ) (n)
R ,...., R ,...., R ,...., R
The optimization technique used for Warshalls’s algorithm is based on construction of Boolean matrices.
The elements of this matrix can be generated using the formula
(k) (k 1 ) (k-1 ) (k 1 )
rij rij or r and r
ik kj
r (k ) i th j th (k )
where ij is the element in row and column of matrix R
5. Specify the algorithms used for constructing Minimum cost spanning tree.
Prim’s Algorithm
Kruskal’s Algorithm
11. Write the difference between the Greedy method and Dynamic programming.
Greedy Method Dynamic Programming
One sequence of decision is generated. Many number of decisions are generated.
It guarantee to give an optimal does not solution It definitely gives an optimal solution always.
always
12. List out the memory functions used under Dynamic Programming. [April/May 2015]
Memory function for binomial coefficient is
C (n, k ) C (n 1, k 1) C (n 1, k )
and
C (n,0) C (n, n) 1
(k) (k 1 ) (k-1 ) (k 1 )
rij rij or r and r
ik kj
www.AUNewsBlog.net
www.AUNewsBlog.net
ARRAY) O(|E| LOG|V|) (adjacency list and priority queue as minheap)
www.AUNewsBlog.net
www.AUNewsBlog.net
Given a weighted connected graph, all pair shortest path problem asks to find the lengths of shortest paths
from each vertex to all other vertices.
28. State time and space efficiency of OBST(Optimal Binary Search Tree).
Space efficiency is quadratic and Time efficiency is cubic.
www.AUNewsBlog.net
www.AUNewsBlog.net
• Determine the optimal substructure of the problem.
• Develop a recursive solution.
• Prove that at any stage of recursion one of the optimal choices is greedy choice. Thus it is always safe to
make greedy choice.
• Show that all but one of the sub problems induced by having made the greedy choice are empty.
• Develop a recursive algorithm and convert into iterative algorithm.
35. Write the general algorithm for Greedy method control abstraction.
Algorithm Greedy (a, n)
{
solution=0;
for i=1 to n do
{
x= select(a);
if feasible(solution ,x) then
solution=Union(solution ,x);
}
return solution;
}
UNIT-III
PART- B
1. Discuss Brute force method with proper example .
2. Develop algorithm for selection sort and bubble sort with proper example .
3. Build a sequential searching algorithm with example .
4. Explain brute force string matching algorithm with example
5. Develop the divide and conquer algorithms with example .
6. Outline merge sort algorithm with example .
7. Plan the quick sort algorithm with example .
8. Explain binary search algorithm with example .
9. Discuss the binary tree traversals and related properties with example.
10. Explain insertion sort with example .
11. Explain Depth First Search and Breadth First Search .
12. Write an algorithm to sort a set of N numbers using insertion sort .
13. Trace the algorithm for the following set of number 20, 35, 18, 8 14, 41, 3, 39.
14. Mention any three search algorithms which is preferred in general? why?
15. Develop algorithm for Warshall’s & Floyd’s to find the optimal solution.
16. Explain about Multistage graphs with example.
17. Develop optimal binary search trees with example.
18. Explain 0/1 knapsack problem with example.
19. Discuss the solution for Travelling salesman problem using branch & bound technique.
www.AUNewsBlog.net
www.AUNewsBlog.net
UNIT – IV
ITERATIVE IMPROVEMENT
1. Define the iterative improvement technique. [Nov/Dec 2016]
An iterative improvement is a mathematical procedure that generates a sequence of improving
approximate solution for a class of problem. Each subsequent solution in such a sequence typically
involves a small, localized change in the previous feasible solution. When no such change improves the
value of the objective function, the algorithm returns the last feasible solution as optimal and stops.
A cut is said to be minimum in a network whose capacity is minimum over all cuts of the network.
7. Define preflow.
A preflow is a flow that satisfies the capacity constraints but not the flow conservation requirement
www.AUNewsBlog.net
www.AUNewsBlog.net
In a bipartite graph, a perfect matching is a matching in which each node has exactly one edge
incident on it. A perfect matching is a graph which matches all vertices of the graph. That is every vertex of
the graph is incident to exactly one edge of the matching
www.AUNewsBlog.net
www.AUNewsBlog.net
D[I,j] min{D[I,j], D[I,k] + D[k,j]}
return D
17. How many binary search trees can be formed with ‘n’ keys?
The total number of binary search trees with ‘n’ keys is equal to the nth Catalan number
c(n) = for n >0, c(0) = 1, which grows to infinity as fast as 4n/n1.5.
18. Give the algorithm used to find the optimal binary search tree.
ALGORITHM OptimalBST(P[1..n])
//Finds an optimal binary search tree by dynamic programming
//Input An array P[1..n] of search probabilities for a sorted list of ‘n’ keys
//Output Average number of comparisons in successful searches in the optimal //BST and table R of
subtrees’ roots in the optimal BST
for I 1 to n do
C[I,I-1] 0
C[I,I] P[I]
R[I,I] I
C[n+1,n] 0
for d 1 to n-1 do
for i 1 to n-d do
j i +d
minval
for k I to j do
if C[I,k-1]+C[k+1,j] < minval
minval C[I,k-1]+C[k+1,j]; kmin k
R[I,j] k
Sum P[I]; for s I+1 to j do sum sum + P[s]
C[I,j] minval+sum
Return C[1,n], R
19. List out three possible outcomes in 3 possible outcomes in solving an LP problem.
3 possible outcomes in solving an LP problem are
1. has a finite optimal solution, which may no be unique
2. unbounded: the objective function of maximization (minimization) LP problem is unbounded from
above (below) on its feasible region
3. infeasible: there are no points satisfying all the constraints, i.e. the constraints are contradictory
www.AUNewsBlog.net
www.AUNewsBlog.net
On each iteration, try to find a flow-augmenting path from source to sink, which a path along which some
additional flow can be sent
If a flow-augmenting path is found, adjust the flow along the edges of this path to get a flow of increased
value and try again
If no flow-augmenting path is found, the current flow is maximum
1. How to find flow augumenting path in Network flow problem
To find a flow-augmenting path for a flow x, consider paths from source to sink in the underlying undirected
graph in which any two consecutive vertices i,j are either:
• connected by a directed edge (i to j) with some positive unused capacity rij = uij – xij
– known as forward edge ( → )
OR
• connected by a directed edge (j to i) with positive flow xji
– known as backward edge ( ← )
If a flow-augmenting path is found, the current flow can be increased by r units by increasing xij by r on each
forward edge and decreasing xji by r on each backward edge, where
Let X be a set of vertices in a network that includes its source but does not include its sink, and let X,
the complement of X, be the rest of the vertices including the sink. The cut induced by this partition of
the vertices is the set of all the edges with a tail in X and a head in X.
Capacity of a cut is defined as the sum of capacities of the edges that compose the cut.
UNIT-IV
PART- B
www.AUNewsBlog.net
www.AUNewsBlog.net
1. Discuss Transform and conquer techniques with example .
2. Explain pre sorting and balanced search tree with example .
3. Develop Binary Search Tree with example .
4. Outline the AVL Trees with example .
5. Explain Warshall’s and Floyd’salgorithm with example.
6. Explain Optimal Binary search trees with example .
7. Discuss the Prim’s algorithm with example .
8. Explain Kruskal’s and Dijkstra’s Algorithm with example .
9. Develop an algorithm for Huffman Trees and find the maximum number of bits/char.
10. Explain the method of finding the minimum spanning tree for connected graph using prim’;s
algorithm.
11. How will you find the shortest path between two given vertices using Dijkkstra’s Algorithm? Explain.
12. Explain the 8-Queen’s problem & discuss the possible solutions.
13. Solve the following instance of the knapsack problem by the branch & bound algorithm.
14. Apply backtracking technique to solve the following instance of subset sum problem: S={1,3,4,5}
and d=11 .
15. Explain subset sum problem & discuss the possible solution strategies using backtracking
16. Explain Graph coloring with example.
17. Explain about Knapsack Problem using back tracking with example.
UNIT – V
COPING WITH THE LIMITATIONS OF ALGORITHM POWER
2. Define Branch-and-Bound method. What are the searching techniques that are commonly used in
Branch-and-Bound?
The term Branch-and-Bound refers to all the state space methods in which all children of the E-node
are generated before any other live node can become the E- node. The searching techniques that are
commonly used in Branch-and-Bound method are:
FIFO
LIFO
LC
Heuristic search
www.AUNewsBlog.net
www.AUNewsBlog.net
12. What is The Euclidean minimum spanning tree problem? [May/June 2016]
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.
13. Draw the decision tree for comparison of three values. [Nov/Dec 2015]
www.AUNewsBlog.net
www.AUNewsBlog.net
14. Write the formula for decision tree for searching a sorted array. [Nov/Dec 2016]
15. State the reason for terminating search path at the current node in branch and bound algorithm.
[Nov/Dec 2016]
The value of the nodes 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 – here 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.
www.AUNewsBlog.net
www.AUNewsBlog.net
The processing of backtracking is implemented by constructing a tree of choices being made. This
is called the state-space tree. Its root represents a initial state before the search for a solution begins. The
nodes of the first level in the tree represent the choices made for the first component of the solution, the
nodes in the second level represent the choices for the second component and so on.
25. What is the manner in which the state-space tree for a backtracking algorithm is constructed?
In the majority of cases, a state-space tree for backtracking algorithm is constructed in the manner
of depth-first search. If the current node is promising, its child is generated by adding the first remaining
legitimate option for the next component of a solution, and the processing moves to this child. If the current
node turns out to be non-promising, the algorithm backtracks to the node's parent to consider the next
possible solution to the problem, it either stops or backtracks to continue searching for other possible
solutions.
www.AUNewsBlog.net
www.AUNewsBlog.net
constraints and adds it to the tuple as its (I+1)st coordinate. If such an element does not exist, the algorithm
backtracks to consider the next value of xi, and so on.
31. What are the tricks used to reduce the size of the state-space tree?
The various tricks are
a) Exploit the symmetry often present in combinatorial problems. So some solutions can be
obtained by the reflection of others. This cuts the size of the tree by about half.
b) Reassign values to one or more components of a solution
c) rearranging the data of a given instance.
32. What is the method used to find the solution in n-queen problem by symmetry?
The board of the n-queens problem has several symmetries so that some solutions can be obtained
by other reflections. Placements in the last n/2 columns need not be considered, because any solution with
the first queen in square (1,i), n/2 i n can be obtained by reflection from a solution with the first queen in
square (1,n-i+1)
33. What are the additional features required in branch-and-bound when compared to
backtracking?
Compared to backtracking, branch-and-bound requires: A way to provide, for every node of a state
space tree, a bound on the best value of the objective function on any solution that can be obtained by
adding further components to the partial solution represented by the node.
www.AUNewsBlog.net
www.AUNewsBlog.net
The problem can be modeled as a weighted graph, with the graph's vertices representing the cities
and the edge weights specifying the distances. Then the problem can be stated as finding the shortest
Hamiltonian circuit of the graph, where the Hamiltonian is defined as a cycle that passes through all the
vertices of the graph exactly once.
40. What are the requirements that are needed for performing Backtracking?
To solve any problem using backtracking, it requires that all the solutions satisfy a complex set of
constraints. They are:
i. Explicit constraints.
ii. Implicit constraints.
48. What are the factors that influence the efficiency of the backtracking algorithm?
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.
UNIT-V
1. Discuss backtracking with example.
www.AUNewsBlog.net
www.AUNewsBlog.net
2. Solve n-Queen’s problem with example .
3. Build Hamiltonian circuit problem with proper example .
4. Develop subset problem with proper example.
5. Explain Branch and bound Techniques with proper example .
6. Solve Knapsack problem with example .
7. Explain travelling salesman problem with example .
8. Explain strassen’s matrix multiplication problem with example .
9. Discuss the features of travelling salesman problem .
10. Given a graph G={V,E,W} shown in the figure where vertices refer to cities, edges refer to connection
between cities, weight associated with each edge represents the cost. Find out the minimum cost for the
salesman .
11. Discuss NP completeness in Knapsack problem with justification .
12. Apply backtracking technique to solve the following instance of the subset sum problem S={1,3,4,5}
and d=11 .
13. Explain subset problem and discuss the possible solution strategies using backtracking.
14. Give a suitable example & explain the Breadth first search & Depth first search. (16)
15. Explain about biconnected components with example.
16. Briefly explain NP-Hard and NP-Completeness with examples.
17. Explain about 0/1 Knapsack Problem using branch and bound with example.
www.AUNewsBlog.net