Nhấn vào đây để đọc bằng ngôn ngữ khác: English
Disjoint-set (cũng được gọi là cấu trúc dữ liệu hợp nhất-tìm hoặc cấu trúc dữ liệu hợp nhất-tìm-ghép) là một cấu trúc dữ liệu theo dõi một tập hợp các phần tử được phân chia thành một số tập hợp tách biệt (không giao nhau). Nó cung cấp các hoạt động gần như độ phức tạp hằng số (bị chặn bởi hàm Ackermann nghịch đảo) để thêm các tập hợp mới, gộp 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 không. Ngoài việc được sử dụng trong nhiều mục đích khác nhau (xem phần Ứng dụng), các tập hợp không giao nhau còn đóng vai trò quan trọng trong thuật toán Kruskal để tìm cây khung tối thiểu của một đồ thị.
MakeSet tạo ra 8 tập hợp đơn lẻ.
Sau một số hoạt động Union, một số tập hợp được nhóm lại.
- DisjointSet.js
- DisjointSetAdhoc.js - Phiên bản tối thiểu (tạm thời) của cấu trúc dữ liệu DisjointSet (hoặc UnionFind) không có các phụ thuộc bên ngoài và dễ dàng sao chép-và-dán và sử dụng trong cuộc phỏng vấn lập trình nếu được phép bởi người phỏng vấn (vì nhiều cấu trúc dữ liệu trong JS thiếu).