Tôi có một danh sách các phần tử (1, 2, 3) và tôi cần lấy danh sách (supetet) của danh sách đó (không lặp lại các phần tử). Vì vậy, về cơ bản tôi cần tạo Danh sách các danh sách trông giống như:In tất cả các tập hợp con có thể có trong danh sách
{1}
{2}
{3}
{1, 2}
{1, 3}
{2, 3}
{1, 2, 3}
Cách tốt nhất (đơn giản> hiệu quả trong trường hợp này, danh sách sẽ không lớn) để thực hiện điều này? Tốt hơn là trong Java, nhưng một giải pháp trong bất kỳ ngôn ngữ nào sẽ hữu ích.
Bạn muốn tất cả các tập hợp con của danh sách đó. Tôi muốn đề nghị đệ quy. Tuy nhiên, nếu bạn đang xử lý, nói rằng, hơn 30-40 yếu tố, bạn sẽ không thể xử lý HUGE (trên 1TB dữ liệu) mà bạn có. Cái này dùng để làm gì? –
Cấu trúc dữ liệu này bạn đang tìm kiếm được gọi là một Powerset (sự khác biệt là nó cũng chứa một tập rỗng). Nó đã được thảo luận trên SO. –
Cảm ơn Zenzen đã chỉ cho tôi đúng hướng ... Tôi đã tìm thấy http://stackoverflow.com/questions/1670862/obtaining-powerset-of-a-set-in-java. – Steve