Design and Analysis of Algorithms 2 Marks and 16 Marks
Design and Analysis of Algorithms 2 Marks and 16 Marks
Design and Analysis of Algorithms 2 Marks and 16 Marks
2 marks
UNIT-I
1. Define Algorithm.
An algorithm is a sequence of unambiguous instructions for solving a problem in
a finite amount of time.
2.Write a short note on Algorithm Design and Analysis of Process.
o Understand the problem
o Decide onComputational DeviceExact Vs Approximate Algorithms
o Algorithm Design Techniques
o Design an algorithms
o Prove Correctness
o Analyze the Algori thm
o Code the Algorithm
3. What are the 2 kinds of Algorithm Efficiency
Time Efficiency-How fast your algorithm runs?
Space Efficiency-How much extra memory your algorithm needs?
4. How can you specify Algorithms?
Algorithms can be specified natural language or pseudo code.
5. What is Pseudo Code?
Pseudo Code is a mixture of Natural Language and Programming Language Constructs such as
functions, loops, decision making statements..etc
6. What are the Important Problem Types?
Sorting
Searching
String Processing
Graph Problem
Combinatorial Problem
Geometric Problem
Numerical Problem
7.How can you Classify Algorithms
Among several ways to classify algorithms, the 2 principal alternatives are
To group algorithms according to types of problem they solve com
To group algorithms according to underlying design techniques they are based upon
8. What is Sorting Problem?
Sorting algorithm is rearrange the items of given list descending/ascending order. Sorting
algorithms classified into
Stable Sorting Algorithm
Non-Stable Algorithm
9.What is Searching Problem?
Finding a given value, called search key given set. Searching Algorithms needs more
memory space and sorted array.
10. What is Graph Problem?
Graph is a collection of dg s and vertices. G=(V,E). For e.g. Traversal Algorithms, Shortest
Path Algorithm, Graph Colouring Problem
11. What is Combinatorial Problem.
This problem that ask to find combinatorial object such as permutations, combinations or a
subset. Combinatorial problems are most difficult to solve. For eg Travelling sales man
problem
12. Differentiate Time Efficiency and Space Efficiency?
Time Efficiency measured by counting the number of times the algorithms basic operation is
executed. Space Efficiency is measured by counting the number of extra memory units consumed by
the algorithm.
Static Algorithm Visualization shows an algorithms progress through a series of still images. On other
hand, Algorithm animation shows a continuous movie like presentation of an algorithms operation.
8.. What is Fibonacci Numbers?
The Fibonacci numbers are an important sequence of integers in which every element is equal
to the sum of its two immediate predecessors. There are several algorithms for computing the
Fibonacci numbers with drastically different efficiency.
9.What are the Classification of Algorithm Visualization?
Static Algorithm Visualization Dynamic Algorithm Visualization
10.What is Brute Force?
Brute Force is a straightforward approach to solving problem, usually directly based on the
problems statement and definitions of the concepts involved..
11. What are the different criteria used to improve the effectiveness of algorithm?
Input- Zero or more quantities are externally supplied .
Output-At least one quantity is produced
Definiteness-Each instruction is clear and unambiguous
Finiteness-If we trace out the instructions of algorithm, then for all case the algorithm
terminates after finite number of steps
Effectiveness-Every instruction must be very clear
12. What is recursive call?
An algorithm is said to be recursive if the same algorithm invoked in the body.
There are 2 types of algorithm. They are
1) Direct Recursive
2) Indirect Recursive
13. What is meant by Direct recursive call?
An algorithm that calls itself is direct recursive call.
Eg.
int fun(int x)
{
if(x<=0)
return x;
return (fun(x-1));
14. Define indirect recursive call?
Algorithm A is said to be indirect recursive if it calls another algorithm which in turn call A
Eg: int fun(int x)
{
if(x<=0)
return x;
return (f1(x-1));
}
Int fun1(int y){
return fun(y-1)
}
15. List the application areas of algorithm visualization?
The 2 application are of algorithm visualization are Research and Education.
16. Define Extrapolation?
Extrapolation is approach, which deals with values of n, that are outside of the
range of the samples values.
17.Define profiling?
Profiling is an important resource the empirical analysis of an algorithm running time.
Measuring n different segments of program can pinpoint a bottleneck in the programs performance
that can be missed by an abstract deliberation about the algorithms basic operations. The process of
getting such data is called profiling.
UNIT III
1. What is articulation point?
A vertex of a connected graph G is said to be in articulation point, if its removal with all
edges incident to it breaks the graph into disjoint pieces.
2.List the advantages of binary search?
Less time is consumed
The processing speed is fast
The number of iterations is less. It take n/2 iterations.
Binary search, which is used in Fibonacci Series, involves addition and
subtraction rather than division
It is priori analysis, since it can be analyzed before execution.
3.Explain the principle used quick sort?
It is a partition method using the particular key the given table is partitioned into 2 sub tables
so that first, the original key will be its position the sorted sequence and secondly, all keys to the left
of this key will be less value and all keys to the right of it will be greater values
4. What is binary search?
The binary search algorithm some of the most efficient searching techniques which
requires the list to be sort descending order.
To search for an amount of the list, the binary search algorithms split the list and locate the
middle element of the list.
First compare middle key K1, with given key K . If K1=K then the element is found.
5. What are the objectives of sorting algorithm?
To rearrange the items of a given list
To search an element in the list.
6. Why is bubble sort called by the name?
The sorting problem is to compare adjacent elements of the list and exchange them if they are
out of order. By doing it repeatedly, we end up bubbling up the largest element to the last position on
the list. The next pass bubbles up the second largest element and so on until, after n-1 pass the list is
sorted.
7. What are the 3 variations in transform and conquer?
The principle variations of transformed and conquer techniques are
Instance simplification
Representation change
Problem reduction
8.Explain principle of Optimality?
The principle of optimality says that an optimal solution to any instance of an optimization
problem is composed of optimal solution to its sub instances.
9. What is need for finding minimum spanning tree?
Spanning tree has many applications. Any connected graph with n vertices much have
atleast-1 edges and connected graphs with n-1 edges are trees. If the nodes of G represent cities and
edges represent possible communication links connecting 2 cities, then the minimum number of links
needed to connect the cities is -1. Therefore, it is necessary for finding minimum spanning tree.
10.What is spanning tree ?
Let G={V,E} be an undir cted connected graph. A sub graph t={V,E} of G is a spanning
tree of G, if it is tree.
12. What is Dynamic programming?
Dynamic programming is an algorithm design technique for solving problem with
overlapping subprograms. The smaller subprograms are solved only once and recording the results in
a table from which the solution to the original problem is obtained.
13. What is greedy method?
The greedy method is the most straight forward design, which is applied for change making
problem.The greedy technique suggests constructing a solution to an optimization problem through a
sequence of steps, each expanding a partially constructed solution obtained so far, until a complete
solution to the problem is reached. On each step, the choice made must be feasible, locally optimal
and irrevocable.
14.List the advantage of greedy algorithm
1)Greedy algorithm produces a feasible solution
2)Greedy method is very simple to solve a problem
3)Greedy method provides an optimal solution directly
15. Define the term control abstraction?
Control abstraction is procedure whose flow of control is learn but whose primary
operations are specified by other proceed res whose precise meanings are left undefined. .
16.List the applications of minimum spanning tree?
Spanning tree are used to obtain independent set of circuit equations for an electric network.
Another application of spanning tree arises from the property that a spanning tree is minimal sub
graph G of G such that
V (G)=V(G) and G
17. Define AVL Tree.
An AVL Tree is binary search tree which the balance factor of every node, which the balance
factor of every node, which is defined as the difference between the heights of the nodes left
and right sub trees is either 0 or +1 or -1
18. What do you mean by row major and column major?
In given matrix, the maximum elements particular row is called row major. In a given matrix,
the maximum elements in a particular column is called column major.
19. What is Minimum Cost Spanning Tree?
A minimum cost spanning tree of a weighted connected graph is its spanning tree of
the smallest weight, where the weight of the tree is defined as the sum of the weights on all its
edges.
UNIT-IV
1.Define mode?
A mode is a value that occur often in a given list of numbers.
For example, the list is 5,1,5,7,6,5,7,5 .. the mode is 5.
2.Define rotation?
A rotation in an AVL tree is a local transformation of its subtree rooted at a node, which is
performed, when the balance factor of a node either +2 or -2.If an insertion or deletion of a new node
in AVL Tree creates a tree with a violated balance requirement, then the tree is restructured by
performing special transformation called rotation, that restore the balance required.
3.What are the different types of rotations?
The four types of rotations are .
Right rotation
Left rotation
Double right-left rotation
Double left right rotation.
4.What are the drawbacks of AVL Tree?
1) Frequent rotations are needed to maintain balances from the trees nodes.
2) Deletion is d ff cult due to the frequency rotations.
3)AVL tree is not considered as stranded structure for implementing dictionaries.
5. What is 2-3 tree ?
A 2-3 tree is tree have 2 kinds of nodes. They are 2 nodes and 3 nodes.
A 2 nodes contains single key k and has 2 children
A 3 nodes contains two ordered key K1 and K2(K1<k2) and has three children
6. Define Heap
Heap is partially ordered data structure that is especially suitable for implementing priority queues
A heap is said to be a max heap, then the children of every node have a value less than that node.
A heap is said to be a min heap, then the children of every node have a value greater than node
7.What is a priority queue?
Priority queue is a data structure in which the intrinsic ordering of the elements does
UNIT-V
1. Define backtracking?
Depth first node generation with bounding function is called backtracking. The backtracking
algorithm has its virtue the ability to yield the answer with far fewer than m trials.
2. What is Hamiltonian cycle in an undirected graph?
A Hamiltonian cycle is round trip along n edges of G that visits every vertex once and returns
to its starting position.
3. What is Feasible solution?
It is obtained from given n inputs Subsets that satisfies some constraints are called feasible
solution. It is obtained based on some constraints
4. What is optimal solution?
It is obtained from feasible solution.
Feasible solution that maximizes or minimizes a given objective function. It is obtained based
on objective function.
5. List the application of backtracking technique?
8-Qeens problem
6. Given an application for knapsack problem?
The knapsack problem is problem combinatorial optimization. It derives its name from the maximum
problem of choosing possible essential that can fit too bag to be carried on trip. A similar
problem very often appears business, combinatory, complexity theory, cryptography and applied
mathematics.
7. Define subset sum problem?
Subset sum problem is problem, which is used to find a subset of a given
set S={S1,S2,S3,.Sn} of positive integers whose sum is equal to given positive integer d.
8. What is heuristic?
A heuristic is common sense rule drawn from experience rather than from mathematically
proved assertion.
For example, going to the nearest un visited city in the travelling salesman problem is good
example for heuristic.
9. State the concept of branch and bound method?
The branch and bound method refers to all state space search methods in which all children of
the E-Node are generated before any other live node can become the E-node.
10. Give the upper bound and lower bound of matrix multiplication algorithm?
Upper bound: The given algorithm does n*n*n multiplication hence at most n*n*n
multiplication are necessary.
Lower bound: It has been proved in the literature that at least n*n multiplication are
necessary.
11. What is state space tree?
Backtracking and branch bound are based on the construction of a state
space tree, whose nodes reflect specific choices made for a solutions component .Its root represents
an initial state before the search for a solution begins.
The nodes of the first level the tree represent the made for the first component of solution,
the nodes of the second evel represent the
Choices for the second components & so on
12. What is promising and non promising node?
A node state space tree is said to be promising, if it corresponds to a partially constructed
solution that may still lead to complete solution. Otherwise, node is called non- promising.
13. What are the additional items are required for branch and bound compare to
backtracking technique?
Compared to backtracking, branch and bound requires 2 additional items.
1) A way to proved , for every node of node of state space tree, a bound on the best value of the
objective function on any solution that can be obtain d by adding further components to the partial
solution represented by the node.
2) The value of the best solution seen so far.
14. Differentiate backtracking and branch bound techniques.
Backtracking is applicable only to non optimization problems.
Backcktracking generates state space tree depth first manner.
Branch and bound is applicable only to optimization problem.
Branch and bound generated a node of state space tree using best first rule.
15. What is called all pair shortest path problem?
Given a weighted connected graph, the all pairs shortest paths problem is to find the distances
from each vertex to all other vertices.
16. When do you say a tree as minimum spanning tree?
A spanning tree is said to be minimum spanning tree when the weight of the spanning tree is
smallest, where the weight of a tree is defined as the sum of the weight of all its edges.
17. How will you construct an optimal binary search tree?
A binary search tree is one of the most important data structures in computer sciences. its
principal applications are to implement a dictionary, a set of elements with the operations of
searching, insertion and deletion. If probabilities of searching for elements of a set are known as
optimal binary search tree, for which the average number of comparisons in a sear h is the smallest
possible.
18. What is the runtime of shortest path algorithm?
The runtime of shortest path algorithm is ((n+|E|) log n)
19. What is mathematical modelling?
Mathematical modelling is method of ex pressing problem in terms of purely Mathematical
objects such as variables, functions and equations.
20. What is pre structure?
Pre structuring is type of technique that exploits space for time tradeoffs simply uses extra
space of facilities faster and or more flexible access to data.
21. Define Heap sort?
Heap sort is sorting algorithm. Heap sort is 2 stage algorithm. The two stages are
Stage 1- Heap Construction- Construct heap for a given array of elements
Stage 2- Maximum Deletion- Apply the root deletion operation n-1 times to the remaining heap.