تنفيذ C لبنية بيانات Union-Find (مع مجموعات كأشجار). يتميز هذا التنفيذ بضغط المسار والاتحاد حسب الرتبة، وبالتالي فإن الوقت المستهلك لكل عملية هو O(alpha(n)).
union_find_elem_t * make_set ( void * element );
union_find_elem_t * find ( union_find_elem_t * element );
union_find_elem_t * merge ( union_find_elem_t * a , union_find_elem_t * b );