Graphs
Check bipartiteness of a graph digallin=1
Write a function that takes as input the adjacency matrix of a simple graph, and decides whether the graph is bipartite or not.
You can use the function Findedge_list( ) and Find_BFS_forest( ) provided by me that does exactly as it is described in the appropriate assignment.
Instructions:
■ If the graph is not bipartite, the output should be an array containing the nodes of an odd-length cycle in order of visiting.
■ If the graph is bipartite, the output should be a 1 on array with only 0 and 1 entries, where the 0 entries correspond to nodes in one part and the 1 entries correspond to nodes in the other part.
Example: if the graph has 6 nodes, and the edges are (12), (15) , (23) then the graph is bipartite and a possible correct answer would be [010111] , but there are other correct answers too (for example [010011] is also fine). If the edges are (12), (14), (16), (23), (35), (45) then the graph is not bipartite, and a possible correct answer would be [1 2 3 5 4], as well as [3 2 1 4 5], however note that [1 2 3 4 5] is not correct, because it contains the nodes in the wrong order. Also, [6 1 2 3 5 4 1 6] would be incorrect, because it is not a cycle.