inclusionExclusion2<T> static method
Applies the inclusion-exclusion principle for two sets.
Formula: |A ∪ B| = |A| + |B| - |A ∩ B|
This calculates the cardinality of the union without actually computing the union, which can be more efficient for large sets.
Example:
final a = CustomSet<int>([1, 2, 3, 4, 5]);
final b = CustomSet<int>([4, 5, 6, 7, 8]);
final count = AdvancedSetOperations.inclusionExclusion2(a, b);
print(count); // Output: 8
Implementation
static int inclusionExclusion2<T>(CustomSet<T> a, CustomSet<T> b) =>
a.cardinality +
b.cardinality -
SetOperations.intersection(a, b).cardinality;