[Solved] CECS328 Programming assignment 9

$25

File Name: CECS328_Programming_assignment_9.zip
File Size: 301.44 KB

SKU: [Solved] CECS328 Programming assignment 9 Category: Tag:
5/5 - (1 vote)

In this program you are required to implement a random undirected graph and determine if the graph is bipartite or not using BFS. Here, we work with three colors for the vertices: gray (not visited), [blue, red] (opposite colors)

  1. Request the user to determine the order (|V|) and size (|E|) of the graph.
  2. Generate |E| random edges into the adjacency matrix/list (Adj) to make a random undirected graph. (Make sure to have a symmetric matrix)
  3. Print the resulting adjacency matrix/list.
  4. Implement 2 functions: Explore and Is_bipartite
  5. In Explore function,
    1. For each vertex (v) initialize color = gray.
    2. Start from the first vertex and call Is_bipartite on that.
    3. Next, go to the next unexplored vertex (having gray color), and call Is_bipartite
    4. Repeat step c. until every vertex is explored/colored or a not bipartite graph is detected.
  6. Now to implement our second function (Is_bipartite), you need to change your BFS function in lab a. Keep popping each vertex from Q. (call it u)
    1. Go to the adjacency list of u, (adj(u)), and for each neighbor (v):
    2. If v. color == gray, assign an opposite color to v and push it into the Q. (Example: u.color is blue, and v.color is gray we set v.color = red)
    3. Else if v.color == u.color: Stop the entire code and print NOT bipartite.
  7. Print the color of all the vertices.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] CECS328 Programming assignment 9
$25