CS 5130
Advanced Data Structures and Algorithms
Assignment # 5
Due Date: December 05, 2013
1. [40 pt] A bipartite graph is a graph G = (V, E) whose vertices can be partitioned into two sets
(V = V1 V2 and V1 V2 = ) such that there are no edges between ver

Branch and Bound
Used to nd optimal solution to many optimization problems, especially in discrete and combinatorial optimization
Systematic enumeration of all candidate solutions, discarding large subsets of fruitless candidates by using upper and
lowe

CS 5130
Assignment # 4
Advanced Data Structures and Algorithms
Due Date: November 13, 2013
For both the problems, program the algorithm to run on admiral in your choice of language from cfw_ C,
C+, Java , and submit the electronic copy.
1. [50 pt] A conti

CS 5130
Advanced Data Structures and Algorithms
Assignment # 1
Due Date: September 12, 2013
1. [25 pt] Horners rule is a means to evaluate a polynomial at a point x0 using a minimum number of multiplications. If
the polynomial is
A(x) = an xn + an1 xn1 +

CS 5130
Advanced Data Structures and Algorithms
Assignment # 2
Due Date: October 01, 2013
1. [30 pt] Suppose you are choosing between the following three algorithms:
(a) Algorithm A solves problems by dividing them into ve subproblems of half the size, re

Divide and Conquer
General method
Divide Split the input with n sample points into k subsets, 1 < k n, with no overlap between subsets
Conquer Solve each of the k subproblems, possibly by splitting recursively
If the subproblems are small enough, solve t

Dynamic Programming
General method
Works the same way as divide-and-conquer, by combining solutions to subproblems
Divide-and-conquer partitions a problem into independent subproblems
Greedy method only works with the local information
Dynamic program

N P-Hard and N P-Complete Problems
Basic concepts
Solvability of algorithms
There are algorithms for which there is no known solution, for example, Turings Halting Problem
Decision problem
Given an arbitrary deterministic algorithm A and a nite input I

The Greedy Method
General Method
Most straightforward design technique
Most problems have n inputs
Solution contains a subset of inputs that satises a given constraint
Feasible solution: Any subset that satises the constraint
Need to nd a feasible so

Backtracking
General method
Useful technique for optimizing search under some constraints
Express the desired solution as an n-tuple (x1 , . . . , xn ) where each xi Si , Si being a nite set
The solution is based on nding one or more vectors that maxim

Approximation Algorithms
Introduction
Approach to attacking NP-hard problems
NP-hard problems cannot be solved in polynomial time
NP-hard problems may have practical value but are solvable in exponential time, at best
1. May be acceptable for small inp

CS 5130
Assignment # 3
Advanced Data Structures and Algorithms
Due Date: October 17, 2013
1. [25 pt] Show that if an undirected graph with n vertices has k connected components, then it has at
least n k edges.
2. [25 pt] Let T be a minimum spanning tree o