Đồ thị hai bên là đồ thị trong đó nếu có thể tô màu đồ thị bằng cách sử dụng hai màu, tức là; các đỉnh trong một tập hợp được tô cùng màu. Trong chương trình này, chúng ta lấy một đồ thị lưỡng phân làm màu đầu vào và đầu ra của mỗi đỉnh sau khi tô màu các đỉnh.
Thuật toán
Begin Thuật toán BFS được sử dụng để duyệt qua tất cả các đỉnh. Lấy một đỉnh và tô màu nó màu vàng. Tô màu tất cả các đỉnh lân cận của nó là màu xanh lam. Tô màu cho các đỉnh cấp tiếp theo là màu vàng và cứ như vậy, cho đến khi tất cả các đỉnh đều được tô màu.Mã mẫu
#includeusing namespace std; int n, e, i, j; vector > g; vector color; bool v [11101]; void c (int node, int n) {queue q; if (v [nút]) return; màu [nút] =n; v [nút] =1; for (i =0; i > n>> e; cout <<"'Y' dành cho Màu Vàng và 'B' dành cho Màu Xanh lam."; cout <<"\ n"; g.resize (n); color.resize (n); memset (v, 0, sizeof (v)); for (i =0; i > a>> b; một--; b--; g [a] .push_back (b); g [b] .push_back (a); } c (0,1); for (i =0; i Đầu ra
Nhập số đỉnh và số cạnh tương ứng:4 3'Y 'cho Màu vàng và' B 'cho Màu xanh lam Nhập đỉnh cạnh của cạnh 1:1 2 Nhập đỉnh cạnh của cạnh 2:3 2 Nhập đỉnh cạnh của cạnh 3:4 21 Y2 B3 B4 B