Question: 1 . ( 8 points ) Let ( B ) be an undirected bipartite graph with vertex sets ( V )

1.(8 points) Let \( B \) be an undirected bipartite graph with vertex sets \( V \) and \( U \) and edge set \( E \).(A bipartite graph is a graph such that the vertex set can be partitioned into two sets such that every edge contains an endpoint from each set.)
A matching of a bipartite graph is a subset \( S \) of the edge set \( E \) such that each vertex is contained in at most one edge of \( S \).
You wish to find the number of edges in the matching with the maximum number of edges.
For example, suppose you have \( n \) employees and \( b \) jobs. You have a bipartite graph with \( n+b \) vertices. There is an edge connecting employee \( i \) and job \( j \) if employee \( i \) can perform job \( j \). You wish to find the maximum number of jobs that can be performed (assuming that each job requires exactly one person.) You can assume that the graph is given as a list of edges.
Consider the following backtracking algorithm that will achieve this:
a) Explain why the worst case runtime will give you a recurrence of
\[
T(m)=2 T(m-1)+O(m)
\]
where \( m \) is the number of edges.
b) Describe how you can improve this algorithm to get a worst case runtime of
\[
T(m)=T(m-1)+T(m-2)+O(m)
\]
where \( m \) is the number of edges
1 . ( 8 points ) Let \ ( B \ ) be an undirected

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!