Trong lý thuyết đồ thị, Cactus là một biểu đồ được kết nối sao cho bất kỳ hai chu kỳ đơn giản khác nhau trong biểu đồ chia sẻ nhiều nhất một đỉnh.
Dưới đây là một cây xương rồng với 3 chu kỳ đơn giản được phác thảo bằng các đường đứt nét.
Biểu đồ sau tương tự như biểu đồ trong hình trên nhưng không phải là Xương rồng vì hai đỉnh có nhãn màu đỏ được chia sẻ bởi hai chu kỳ đơn giản.
Mọi thứ có thể trở nên phức tạp hơn một chút, ví dụ như biểu đồ sau:
Có thể trông giống như một cây xương rồng nhưng nó không phải là. Điều này có thể được hiển thị bằng cách làm nổi bật chu trình sau:
Chu trình này chia sẻ nhiều hơn một điểm với rất nhiều chu kỳ rõ ràng hơn trong biểu đồ.
Định nghĩa
Biểu đồ được kết nối là một biểu đồ sao cho tồn tại ít nhất một đường giữa hai đỉnh bất kỳ.
Một chu trình đơn giản là một đường dẫn trên biểu đồ bắt đầu và kết thúc tại cùng một đỉnh và truy cập không có đỉnh nhiều hơn một lần.
Một đồ thị đơn giản là một đồ thị không có trọng số, không có trọng số sao cho không có các đỉnh được kết nối với nhau bằng nhiều hơn một cạnh và không có đỉnh nào được kết nối với chính nó. Biểu đồ đơn giản là loại biểu đồ cơ bản nhất và là ý nghĩa của hầu hết mọi người khi họ nói biểu đồ.
Bài tập
Lấy một biểu đồ đơn giản làm đầu vào và quyết định xem đó có phải là biểu đồ Cactus không. Bạn nên xuất hai giá trị riêng biệt một cho Đúng và một cho Sai. Bạn có thể lấy đầu vào ở bất kỳ định dạng nào bạn thấy phù hợp.
Đây là môn đánh gôn, vì vậy bạn nên cố gắng giảm thiểu số byte trong câu trả lời của mình.
e
chứa chính xác một yếu tố VÀ có v
chứa chính xác 2 VÀ có v
bằng với yếu tố đầu tiên e
không? 2) HOẶC Có v
bằng tập hợp các phần tử đầu tiên của mỗi phần tử trong e
không? Trường hợp thử nghiệm thứ hai vượt qua kiểm tra đầu tiên ( v=[1,2]=e[0]=[1,2]
) và các trường hợp thử nghiệm khác phải đúng với trường hợp thứ hai, ví dụ: trường hợp # 4 : v=[1,2,3,4,5,6]=[e[0][0],e[1][0],e[2][0],e[4][0]]=[1,2,3,4,5,6]
.
console.log(f([1,2,3,4,5,6,7,8,9,10,11,12,13])([[1,2],[1,3],[3,4],[2,4],[3,5],[5,6],[6,7],[7,8],[8,5],[7,9],[9,10],[10,11],[11,7],[8,12],[8,13]]))
true
hay false
không?