Bài tập Lập trình - Bài 2: Tô màu đồ thị

Bài tập lập trình 2: Tô màu đồ thị  
Bạn đã biết trong bài giảng:  
Định lý 1. Cho G là đồ thị với mọi đỉnh đều có bậc ≤ k. Nếu G không chính quy, vậy thì χ(G) ≤ k.  
Chứng minh của mệnh đề này cho chúng ta cách xây dựng thứ tự các đỉnh để thuật toán tham  
lam tô màu đỉnh dùng không quá k màu (cho đồ thị không chính quy). Bài tập này yêu cầu bạn  
cài đặt thuật toán này.  
Nhiệm vụ: Nhập đồ thị từ bàn phím dưới dạng danh sách cạnh. Đưa ra màn hình một cách tô  
màu đồ thị dùng  
• Không nhiều hơn k màu nếu G không chính quy.  
• Không nhiều hơn k + 1 màu nếu G chính quy.  
Dữ liệu vào: Từ file dothi.txt trong đó  
• Dòng đầu tiên ghi hai số nguyên n và m là số đỉnh và số cạnh của đồ thị;  
• Ở m dòng tiếp theo, mỗi dòng ghi hai số nguyên tương ứng với một cạnh của đồ thị.  
Dữ liệu ra: file dothitomau.dot biểu diễn đồ thị ở dạng ngôn ngữ DOT với các đỉnh đã được tô  
màu.  
Ví dụ:  
Dữ liệu vào  
Dữ liệu ra  
4 5  
1 2  
2 3  
3 4  
4 1  
1 5  
graph dothi  
{
5 [fillcolor=red, style=filled];  
4 [fillcolor=red, style=filled];  
1 [fillcolor=green, style=filled];  
3 [fillcolor=green, style=filled];  
2 [fillcolor=red, style=filled];  
1 -- 2;  
2 -- 3;  
3 -- 4;  
4 -- 1;  
1 -- 5;  
}
Với dữ liệu ra dothitomau.dot, ta biên dịch với chương trình graphviz:  
dot -Tpdf dothitomau.dot -o graph.pdf  
thì được file graph.pdf với nội dung như Hình 1.  
Tài liệu về ngôn ngữ DOT:. Tài liệu Drawing graphs with dot có thể download tại link dưới đây:  
1
2
1
5
2
3
4
Hình 1. Đồ thị được tô màu của ví dụ trước  
 
pdf 2 trang Thùy Anh 17740 Free
Bạn đang xem tài liệu "Bài tập Lập trình - Bài 2: Tô màu đồ thị", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_tap_lap_trinh_bai_2_to_mau_do_thi.pdf
  • txtrgb.txt
  • dottest.dot