Tôi sẽ xem xét một số thuật toán đồ thị (đây không phải là bài tập về nhà; tôi chỉ đánh vào các thuật toán và cấu trúc dữ liệu) và tôi có một câu hỏi. Giả sử tôi có đồ thị vô hướng sau:Số lượng thành phần được kết nối trong đồ thị vô hướng
var graph = {
9: [19, 26],
13: [19, 5],
17: [],
26: [11, 18],
18: [9],
19: [],
23: [24],
24: [],
11: [],
18: []
};
Đồ thị về cơ bản trông như thế này:
Có bao nhiêu kết nối hợp phần trong biểu đồ này? Từ chỉ nhìn vào biểu đồ, có vẻ như có 3 thành phần. Nhưng nếu tôi thực sự thực hiện thuật toán (lặp qua mỗi đỉnh, và làm một bfs sử dụng đỉnh đó làm điểm bắt đầu nếu rằng đỉnh chưa được khám phá. Ngoài ra, các bfs sẽ đánh dấu bất kỳ đỉnh nào nó gặp, như được phát hiện).
Nếu tôi bắt đầu với 9
, tôi sẽ tìm ra các nút sau: [19, 26, 11, 18]
. Tuy nhiên, 13
không được phát hiện vì nó không có trong danh sách kề kề của 19
. Tuy nhiên, 19
là trong danh sách kề của 13
. Đây là lý do tại sao tôi kết thúc với một thành phần phụ.
Điều này có đúng không? Có thực sự 4 thành phần riêng biệt và nếu như vậy, là sự hiểu biết của tôi về các thành phần kết nối sai?
Tôi tự hỏi điều gì đã được đánh giá cao về câu hỏi này ... nó khá hợp pháp. –
biểu đồ không đặc biệt phù hợp với các vấn đề khác –