Cấu trúc dữ liệu tập hợp không giao nhau hay tập hợp rời rạc là một cấu trúc dữ liệu để lưu trữ một tập hợp các phần tử được phân chia thành nhiều tập hợp con không giao nhau.
Nó cung cấp các thao tác với thời gian gần như không đổi (được giới hạn bởi hàm ngược Ackermann) để thêm các tập hợp mới, hợp nhất các tập hợp hiện có và xác định xem các phần tử có trong cùng một tập hợp hay không. Ngoài ra còn nhiều công dụng khác (xem phần Ứng dụng), các tập hợp rời rạc đóng một vai trò quan trọng trong thuật toán Kruskal để tìm cây bao trùm nhỏ nhất của một đồ thị.
Thao tác Tạo-Tập tạo ra 8 phần tử.
Sau một số thao tác Hợp, một số tập hợp đã được nhóm lại với nhau.