Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int Bfs_Bipartite(struct Graph* graph, int v)
- {
- graph->visited[v] = 1;
- graph->level[v] = 1;
- struct Queue* queue = CreateQueue();
- enQueue(queue, v);
- while(!isEmpty(queue))
- {
- int dequeueVertex = deQueue(queue);
- printf("nVisited vertex: %d", dequeueVertex);
- struct node* head = graph->adjList[dequeueVertex];
- while(head)
- {
- int u = head->vertex;
- if(graph->level[u] == -1)
- {
- graph->visited[u] = 1;
- graph->level[u] = 1- graph->level[v];
- enQueue(queue, u);
- }
- else
- if(graph->level[v] == graph->level[u])
- { printf("sdf");
- return 0;
- }
- head = head->next;
- }
- }
- return 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement