Bipartition of a graph 2026-10-25
A bipartition of a graph divides its vertex set into two independent sets, so every edge joins different parts. A graph admitting such a partition of a set is a bipartite graph. The two parts are not generally unique: separate connected components of a graph can have their sides exchanged independently, and isolated vertices can be assigned to either part.
Colouring of a set 2026-10-14
A colouring assigns to each member of a set a colour in another set . Its nonempty fibres form a partition of a set. The colour set may be infinite; a finite colouring is the special case with finitely many colours. A homogeneous set for a colouring of finite subsets has all its subsets of the specified size assigned one colour.
Communicating class Created 2026-09-24 Updated 2026-10-14
In a finite, time-homogeneous Discrete-time Markov chain with row-stochastic transition matrix , write when is accessible from , meaning for some . States communicate, written , when both and . Communication is an equivalence relation, and a communicating class is an entire equivalence classThus communicating classes form a partition of the state space; a smaller mutually communicating subset is not itself a class. See Maria Cameron's Markov Chains notes, section 1.2.
The allowance of zero steps matters: , the identity matrix, makes true even for a state with no possible positive-time return. Symmetry is built into communication. For transitivity, concatenate a positive-probability path from to with one from to , and do the same in reverse. These observations prove the equivalence relation directly. One-way accessibility alone is not symmetric and does not define the classes; see Accessible state of a Markov chain.
A closed communicating class satisfies for every and . Once entered, it cannot be left. A singleton class is an absorbing state exactly when it is closed. An open communicating class has an outgoing transition; after a path leaves it, it cannot return, since that would make the visited outside states communicate with it. The internal motion of a closed class can nevertheless continue forever.
A constructed chain has three communicating classes: an open singleton, a closed alternating pair, and a closed absorbing singleton; dashed outlines group states into classes.
Details. For this constructed example, in state order , the transition matrix isThere are exactly three communicating classes: , , and . Only the first is open. The second is closed but neither of its states is an absorbing state; they alternate deterministically. Although via , the reverse accessibility fails. A direct matrix power check gives and .
Starting at , let be the first hitting time of either closed class. Staying at for steps has probability , so and . The two eventual destination classes each have probability . Hence the hitting probability of the absorbing state is only , and its unconditional expected hitting time from is infinite: on half the paths it is never hit. In particular, entering a closed class with certainty does not imply entering an absorbing state with certainty.
Classifying the state space separates two questions: which closed region will eventually be entered, and how does the Markov chain move inside that region? In this example the restriction to is an irreducible Markov chain with period two; the restriction to is a one-state irreducible Markov chain with period one. The whole Markov chain is reducible. The absorbing state example illustrates a different possibility: every closed class is a singleton, so eventual class selection is also terminal outcome selection.
Conjugacy class Created 2026-09-24 Updated 2026-10-14
For an element of a group , its conjugacy class is its orbit of a group action under the conjugation action:Thus conjugate group elements describe the same operation after a change of labels. In a symmetric group, conjugation renames the entries of every permutation cycle:For example, with and the transposition , this gives . Products use function composition of permutations, with the rightmost factor applied first. The complete six-element example is conjugacy classes of the symmetric group on three letters.
The conjugacy classes form a partition of a set of , since conjugacy is an equivalence relation. In a symmetric group, two permutations lie in the same conjugacy class precisely when they have the same cycle type: renaming preserves the lengths of permutation cycles, and matching equal-length permutation cycles constructs a renaming in the other direction. This compresses many labelled permutations into a few structural types. See McKernan, Conjugation in Sn, lemma 6.2 and proposition 6.6.
The stabilizer subgroup of under the conjugation action is its centralizer . Consequently the orbit-stabilizer theorem givesThe counting mechanism is the bijection from left cosets onto the conjugacy class: two choices of give the same result exactly when they differ on the right by an element of the centralizer. A large centralizer means many choices of labels leave the operation unchanged, hence a small conjugacy class. A conjugacy class has size one precisely when its element belongs to the center of a group. The class equation counts these orbits of a group action together.
Conjugacy class count bound from the center 2026-10-25
For a finite group , write for its number of conjugacy classes. Exactly the elements of the center of a group have singleton conjugacy classes; every other conjugacy class has at least two elements. Since the conjugacy classes form a partition of a set , . If is a nonabelian group, the cyclic quotient by the center criterion and the fact that every group of group order at most three is a cyclic group give , hence . The quaternion group attains this bound, with five conjugacy classes among eight elements.
Connected component Created 2026-09-24 Updated 2026-10-14
A connected component of a topological space is a nonempty connected subset that is maximal under subset inclusion. If is a connected component and with a connected subset, then . Maximality means that no larger connected subset contains ; it does not mean largest cardinality among all connected subsets.
For example, the connected components of in the usual subspace topology of the real line are and . Each is a real interval, and no connected subset of the real line can meet both without containing the missing point . For the finite set in the same subspace topology, the three connected components are its singleton sets.
An intact real interval, an interval with an interior point removed, and a finite set have one, two, and three connected components in the usual subspace topology of the real line
. Details. Every point lies in exactly one connected component, constructed by taking the unionAll members contain , so their union is connected by connected union with a connected hub. The union includes every connected subset through , so it is maximal. Equivalently, defineThis is an equivalence relation: singleton sets give reflexivity, symmetry is immediate, and two connected subsets sharing the middle point have a connected union, giving transitivity. The equivalence classes are precisely the connected components. They form a partition of a set: they cover and any two are either equal or disjoint.[ref]
Chapter 3: Connected and compact spaces. Proposition 3.1.11, Definition 3.1.12 and Remark 3.1.16: maximal connected subsets and equivalence classes
Every nonempty connected subset lies within one connected component. Moreover, every connected component is closed in : closure of a connected set makes its closure connected, and maximality forces that closure to equal the original connected component. A connected component need not be open. For example, in with its usual subspace topology from the real line, all connected components are singleton sets, but is not open: every neighbourhood of in contains some .[ref]
Connected space Created 2026-09-24 Updated 2026-10-13
A topological space is connected when it has no separation of a topological space: no partition of a set into two nonempty open subsets satisfyingHere the union covers all of , and the intersection is the empty set, so no point belongs to both pieces. For a subset of a larger topological space, "open" means open in the subspace topology: each piece is the intersection of with an ambient open set. Both pieces must be open; merely dividing a drawing into two colours does not establish a separation of a topological space. [ref]
https://math.mit.edu/~hrm/palestine/munkres-topology.pdf. Munkres, Topology: A First Course, section 3-1, definition on p. 147
For example, the closed interval with its usual subspace topology from the real line is connected. The proposed split fails: the second subset is not open in , since every neighbourhood of in contains points less than . More generally, a connected subset of the real line is precisely a real interval. In contrast, for the unionthe open intervals and exhibit as nonempty open subsets in the subspace topology of . Their intersection is empty and their union is , so is not connected. Although are closed intervals in the real line, they are also open within .
A connected closed interval and a union of two closed intervals admitting a separation of a topological space in the subspace topology
. Details. Why is connectedness useful? A continuous image of a connected space is connected: a proposed separation of a topological space in the image would pull back through the continuous map to a forbidden separation of a topological space in its source. Thus a continuous map from a real interval to the real line cannot skip values between two attained values. This is the intermediate value theorem. For a computed example, the continuous function on has image ; the value occurs at . Connectedness guarantees an input attaining that value even when we have no formula for it.
Path connectedness is a stronger condition: it supplies a continuous path between every pair of points. The topologist's sine curve below shows that a connected space need not be a path-connected space.
Coset Created 2026-09-24 Updated 2026-10-14
For a subgroup of a group , a left coset is ; a right coset is . The name refers to the side on which the representative multiplies . Think of a coset as a translated copy of a subgroup: it remembers the relative differences allowed by , while moving the whole collection to another location in the group.
Two left cosets of the same subgroup are either equal or disjoint. Thus distinct left cosets form a partition of a set covering ; the same statement holds separately for right cosets. The useful membership test isThis also defines an equivalence relation: changing a representative by right multiplication with a member of leaves its left coset unchanged. These facts hold even for infinite groups. See MIT's coset notes, definitions 3.6 and 3.9.
For an explicit additive example, take the cyclic group , with modular arithmetic, and the subgroup . Adding each representative to both members gives exactlyRepresentatives repeat these three cosets, respectively. For example, , since . Every residue appears once in the displayed partition of a set. Each coset has two members, so the group order of is and its index of a subgroup is . Left and right cosets coincide here because is an abelian group.
A coset need not be a subgroup. In this example, lacks the identity element , and leaves it. In fact, the only left or right coset of that is a subgroup is itself: a subgroup must contain the identity element, and the coset containing that element is . Equal sizes come instead from the bijection , whose inverse is ; for right cosets, use and .
The nonabelian group , the symmetric group on three letters, separates the two sides. Use function composition with the rightmost permutation applied first, and let . Then but , giving the differing pairThe complete partition of a set into left cosets consists of , and ; the complete partition of a set into right cosets consists of , and . Each lists all six permutations exactly once. Both have three parts of size two, although their parts differ.
Left cosets support a group action by for every subgroup, as in the coset action. Multiplication of representatives defines a quotient group operation precisely when is a normal subgroup. Otherwise the answer can depend on the representatives: in this example, and represent the same coset , yet and differ. In the additive example, is a normal subgroup, making valid. See MIT's quotient-group notes, theorem 9.1.
Cut of a flow network Created 2026-09-29 Updated 2026-10-18
A source-to-sink cut of a flow network is a partition of a set of the vertex set of a flow network, with and . Its cut capacity sums the flow network edge capacities of directed edges leaving .[ref]
Flows (author-hosted chapter preview). Graph Theory by Reinhard Diestel; Diestel, Flows, §6.2, printed p. 158: source-side partition and cut capacity
The side may contain any selection of the other vertices; its induced subgraph need not be a connected graph. For the five-edge flow network with flow network edge capacities , gives the partition of a set . Only and leave this side, so its cut capacity is . Choosing instead puts across the boundary in the incoming direction: its flow network edge capacity is excluded.
The left panel pairs a feasible flow of flow value with a cut of a flow network of cut capacity , proving that each is optimal. The right panel uses the same feasible flow but a different cut of a flow network: the outward flow is and the backward flow is , giving net flow . That cut capacity is , so it supplies a valid but less sharp bound. The dashed boundary marks a partition of a set, rather than an additional edge or a proposed route.
Disjoint-set data structure Created 2026-10-18 Updated 2026-10-20
A disjoint-set data structure maintains a partition of a set. Its find operation returns a representative, equal for two elements exactly when they belong to the same block; its union operation merges two blocks. Kruskal's algorithm uses it to track connected components of a graph.
Start with a singleton set for every stored set element. Each disjoint-set find operation returns a disjoint-set representative; a disjoint-set union operation merges the containing blocks of a set partition. The interface does not split a block of a set partition or delete a member.[ref]
UF.java. Algorithms, 4th edition by Robert Sedgewick and others; UF.java, class documentation: initial singletons, representative equality and union interface
The partition of a set consists of nonempty disjoint blocks of a set partition covering the stored set; being in the same block of a set partition defines an equivalence relation. A disjoint-set representative names a whole block of a set partition, without requiring a list of its members.
Disjoint-set find operation 2026-10-18
The disjoint-set find operation returns the disjoint-set representative of a stored set element . It preserves the partition of a set. With path compression, it can change internal pointers while answering the same membership question. Inputs outside the stored set require a specified error policy; they are not silently inserted here.
Disjoint-set union operation 2026-10-18
The disjoint-set union operation first uses the disjoint-set find operation to locate the blocks of a set partition containing . If they are different blocks of a set partition , replace them by their union ; every other block of a set partition stays as it was. If the two disjoint-set representatives agree, no merge is needed. Here
unite returns True exactly when it merges two different blocks of a set partition. A successful call decreases their count by one; a redundant call preserves it. The name union is also customary. Some interfaces instead accept already found disjoint-set representatives, making that linking step a separate operation.For an original example, initialize as seven singleton sets. Apply the calls in this order:The first five calls succeed. After the third, the partition of a set is ; after the fifth it is . The sixth returns
False: are already together. The blocks of a set partition number , counting the initial state. A disjoint-set find operation on cannot merge it with any other member.Five successful disjoint-set union operations and one redundant call on seven elements
. Each coloured enclosure is one block of a set partition. Columns identify the same seven members in every row; enclosures show membership rather than parent pointers. Details.This is exactly the kind of changing membership needed by Kruskal component merging: an accepted edge joins two current connected components of a graph, while an edge whose endpoints already have equal disjoint-set representatives is rejected. The existing Kruskal's algorithm worked example follows that application. A disjoint-set forest stores membership efficiently without repeatedly enumerating every block of a set partition.
Equivalence class Created 2026-10-05 Updated 2026-10-14
An equivalence class collects all the set elements indistinguishable from a specified set element under an equivalence relation. For an equivalence relation on a set , the precise definition isThe ambient set matters: a finite class for integer congruence restricted to differs from the infinite residue class for the same integer congruence on all integers. We write when the equivalence relation and ambient set are clear.
In the finite modulo-three example,There are nine names but only three distinct equivalence classes. In particular, , whereas : the first statement is membership of a set element; the second is equality of two sets.
For any equivalence relation on , the essential rule isReflexivity puts in , so the equivalence classes are nonempty and cover . If two equivalence classes share , the symmetric relation property and transitivity relate their defining elements through ; transitivity then makes their members coincide. Thus distinct equivalence classes are disjoint, giving a partition of a set. Conversely, declare two set elements equivalent when they belong to the same block of a partition of a set. The three relation properties follow immediately and its equivalence classes recover the blocks. [ref]
https://www.math.umd.edu/~pbrosnan/notes/ugalg/sect0018.html. Patrick Brosnan, Undergraduate Algebra, §2.10, Lemma 2.81, Corollary 2.82 and Theorem 2.83
Equivalence relation Created 2026-09-24 Updated 2026-10-14
An equivalence relation says which set elements should count as the same for a particular purpose. In modular arithmetic, for example, distinct integers with the same remainder are equivalent. The relation gathers interchangeable set elements into equivalence classes; the quotient set then treats each whole equivalence class as one object.
Formally, an equivalence relation on a set is a binary relation , written , satisfying three conditions for all :These conditions make the equivalence classes a partition of a set: each set element belongs to exactly one class. [ref]
- Reflexivity: .
- Symmetric relation: implies .
- Transitivity: and imply .
https://www.jirka.org/ra/html/sec_basicset.html. Jiří Lebl, Basic Analysis, §0.3.4, Definitions 0.3.21 and 0.3.23 and Proposition 0.3.24
For a worked example, take the finite set and restrict integer congruence modulo three to :Reflexivity follows because . The symmetric relation property follows by changing the sign of a difference, and transitivity follows by adding and : divisibility by three is preserved in both steps. Thus and force . The three equivalence classes are , and . Their members alternate along the number line; membership in an equivalence class need not mean being close together.
The transitivity requirement rules out a tempting alternative. On , define nearness by the absolute value condition . This binary relation is reflexive and symmetric, but is near and is near while is not near . Its neighborhoods , and overlap without being equal. They are not equivalence classes or a partition of a set.
Fiber of a function Created 2026-10-06 Updated 2026-10-14
For a function and , its fiber of a function over is the set of all inputs producing that one output:Here is shorthand for a preimage of a singleton set, rather than a claim that an inverse function exists. A fiber can contain several inputs or be empty. It describes exactly which distinctions the function forgets.
For the finite function under image and preimage of a function, the fibers over are , , and the empty set, respectively. The nonempty fibers form a partition of a set: they are disjoint sets whose union is the domain of a function. Every input belongs to the fiber over its unique output, and two fibers with distinct output labels cannot share an input. A function is injective exactly when every fiber has at most one member; it is surjective exactly when every member of its specified codomain has a nonempty fiber.
More generally, is the union of the fibers over all . The relation defined by is an equivalence relation, and its equivalence classes are precisely the nonempty fibers. The resulting quotient set is naturally in bijection with the image of a function. This links an input partition to the output values actually reached, without choosing one representative from each class.
Fibers are useful when an output is known but the input is not uniquely determined. A solution set is one fiber, and factorization through a surjection explains when another function depends only on the retained output. Quantum hidden subgroup problem algorithms use functions whose fibers are cosets, giving the same idea a structured form in group theory.
Finite termination of K-means clustering 2026-10-25
For a finite dataset, alternate nearest-centre assignment and replacement of each centre by the centroid of its assigned observations. Keep the current assignment whenever an observation is tied between nearest centres. A changed assignment then strictly decreases the within-cluster sum of squared Euclidean distances; updating centres cannot increase it by the centroid sum-of-squares identity.
After each centre update, the centres are determined by the current partition of a set of observation indices. There are only finitely many such partitions, so a strictly improving sequence cannot revisit one and must stop. A convenient exact stopping test is to check after each update whether every observation is still assigned to a nearest centre. This proof is for algorithm termination; it does not guarantee a global minimum.
Empty clusters need an explicit convention. To retain exactly nonempty clusters, transfer an observation from a cluster with at least two members to each empty cluster, making it a singleton centred at that observation. This cannot increase the objective: the transferred observation now has squared distance zero, and no other contribution changes before centre updating. A deterministic choice is an eligible observation farthest from its currently assigned centre, with ties resolved by index. After the first round, an empty cluster can arise only during a strictly improving reassignment, so these repairs preserve the finite-termination argument.
Infinite pigeonhole principle Created 2026-09-24 Updated 2026-10-14
The infinite pigeonhole principle says that if an infinite set has a partition of a set into finitely many parts, at least one part is an infinite set. Equivalently, assigning infinitely many objects to a finite number of boxes forces some box to contain infinitely many objects. For example, separating the natural numbers into their two residue classes modulo forces at least one class to be an infinite set; here both are, as the lists and show.
Proof outline. A union of finitely many finite sets is a finite set. If all the parts were finite sets, their union could not be the original infinite set.
The assumption of finitely many parts is essential. With one box labelled by each natural number, assigning to box puts exactly one object in every box. Infinitely many objects and infinitely many boxes therefore need not produce even a shared box. The infinite pigeonhole principle is useful whenever finitely many labels organize an endless collection: one label must keep occurring infinitely often, providing an infinite set on which that label is constant.
Interval scheduling 2026-10-18
Given a finite set of jobs with fixed half-open intervals , where , choose a subset of maximum cardinality. Each job occupies one shared resource throughout its interval. A feasible solution has pairwise disjoint intervals: for distinct selected jobs , either or . Thus a finish and the next start may coincide. Every job has value one; occupied time is not the objective function.[ref]
Lecture 1: Introduction. 6.046J Design and Analysis of Algorithms, Spring 2015; Printed p. 2, Interval Scheduling: fixed requests, one resource, compatibility with endpoint equality, maximum size
Consider these six original jobs, with arbitrary time units:Job can be followed immediately by and . Job conflicts with all three. Starting the resource earlier is therefore not automatically beneficial: one long commitment can displace several shorter requests.
The earliest-finish greedy algorithm uses a sorting algorithm to put jobs in nondecreasing finish time. Scan that order, accepting the first job and then each job whose start is at least the last accepted finish. Break finish-time ties arbitrarily; an empty input returns the empty set. For these jobs, the order and decisions areAfter , job starts before the current finish five and is rejected. Accept ; then reject because six is before seven. Finally accept . The result is , with cardinality four. Leaving idle makes room for more jobs.
By contrast, the earliest-start rule scans . It accepts , skips , accepts , and skips . Its feasible solution contains only two jobs. Here and meet at time six and are compatible; and overlap on .
Earliest finish accepts four jobs; earliest start accepts two
. The same six original intervals appear in both panels. Colored jobs are accepted and gray jobs rejected. A filled start and hollow finish depict a half-open interval; jobs meeting at an endpoint are compatible. Details.There is also an elementary optimality certificate for this example. The four subsets , , and form a partition of a set of the jobs. A feasible solution takes at most one job from each group: overlap, as do , and each other group is a singleton. Hence four is an upper bound, attained by . Checking all subsets gives a unique optimum of size four: .
The earliest-finish theorem states that this greedy algorithm maximizes job count for every finite instance of interval scheduling. For the exchange argument, let be the first job in an optimal feasible solution and an earliest-finishing job. Every later selected job satisfiesReplace by ; compatibility and cardinality survive. The remainder must be optimal among jobs starting at or after , or improving it would improve the whole selection. Mathematical induction on the smaller remaining instance, starting with the empty set, completes the outline.[ref]
Greedy Algorithms. Algorithms by Jeff Erickson; §4.2 Scheduling Classes, Lemma 4.3 and Theorem 4.4, printed pp. 163–164; endpoint equality is allowed by our half-open convention
Why is the algorithm fast? Once sorted, each job is examined once, using only the last accepted finish to decide compatibility. The scan takes time; comparison sorting algorithms give total time complexity for , in Big O notation, assuming constant-cost endpoint comparisons. Already sorted input needs only the scan.[ref]
Lecture 1: Introduction. 6.046J Design and Analysis of Algorithms, Spring 2015; Printed pp. 2–4, earliest-finish rule, compatibility and first-job exchange; scan cost follows by counting one comparison per subsequent request
Kolmogorov axioms Created 2026-09-29 Updated 2026-10-31
The Kolmogorov axioms describe a consistent way to assign probabilities to events. Start with a sample space and an event sigma-algebra : it contains and is closed under complements and countable unions, hence also countable intersections. The probability measure is a function satisfyingThe triple is a probability space. The third axiom is countable additivity; the infinite series means the limit of a sequence of nonnegative partial sums. It applies to pairwise disjoint events, not to overlapping events and not to arbitrary uncountable unions.[ref]
The sigma-algebra specifies which questions have probabilities, while the axioms specify how those probabilities fit together. For a finite sample space one can take the entire power set; a continuous model commonly uses a Borel sigma-algebra. Nonnegativity and normalization do not require equally likely outcomes or independence: those are additional modelling choices.
For an exact six-outcome model, take , , and assign . The total is one because . Define the probability of an event by summing the weights of its outcomes. The disjoint events , and form a partition of a set withThis is a specified mathematical model, not measured die frequencies. The figure makes probability literal area: each region has the same height and a width proportional to its assigned mass. Regrouping disjoint events preserves their total area.
Several familiar rules are consequences, not further axioms. Finite additivity of a set function follows by appending empty events to the sequence in countable additivity; follows already by writing as a disjoint union. The complement rule of probability gives and therefore . Splitting larger events into a smaller event and a set difference shows .
For overlapping events, the inclusion-exclusion principle corrects double counting:In the six-outcome model, and give , agreeing with the weight of . This decomposition is useful because a complicated event can be assembled from simpler questions with known probabilities.
On a finite sample space, a family of pairwise disjoint events has only finitely many nonempty members, so finite additivity of a set function already handles every countable disjoint union. On an infinite sample space, the countable axiom additionally controls what is left beyond every finite stage. In the fair-coin waiting model of continuity of probability, the finite-stage calculations sum to through toss . Countable additivity makes the probability of a head at some finite toss equal to ; finite-stage sums alone do not justify that passage. For the continuous uniform distribution on , each singleton instead has probability zero, while their uncountable union has probability one. Countable, rather than unrestricted, additivity accommodates both models.
Historically, Kolmogorov's 1933 book Grundbegriffe der Wahrscheinlichkeitsrechnung established the influential axiomatic framework connecting probability theory with measure theory. The three conditions above are the modern presentation on a sigma-algebra. Shafer and Vovk's historical study explains that the original presentation began with finite additivity on an algebra of sets and added continuity for decreasing events with empty intersection, which supplies the countable extension.[ref]
Kruskal component merging 2026-10-18
A disjoint-set data structure stores the current partition of a set of vertices into connected components of a graph. The operation returns a representative of the block containing . Two vertices are in the same block exactly when their representatives agree. For each candidate edge , compare and . Equal representatives mean reject; different representatives mean accept and perform , merging the two blocks. The representatives are bookkeeping choices, not preferred vertices of the minimum spanning tree.
Connected components of a graph merge only when an edge is accepted
. The same example as a disjoint-set data structure ledger. Each coloured band is one block of the current partition of a set. The rejection of leaves both the partition of a set and the running cost unchanged. Bands show membership, not internal representative pointers. Details.Every acceptance reduces the connected component of a graph count by one and increases the accepted edge count by one, preserving . Thus the ledger reaches exactly when . Only ten representative queries and four merges are needed for the five examined edges, counting two queries per examination and using the already found representatives for each merge. Neither breadth-first search nor reconstruction of a graph path is needed for these connectivity queries.
For and , comparison sorting algorithm takes time for , using Big O notation. One simple disjoint-set data structure implementation stores each block as a rooted tree and attaches the smaller block's root below the larger block's root. Whenever a vertex's depth increases, its block size at least doubles, so its depth is at most . Consequently each representative query or merge takes time. Initialization plus the scan costs ; including sorting algorithm gives , hence for a connected input with . These are operation bounds, not measured timings.[ref]
WeightedQuickUnionUF.java. Robert Sedgewick and Kevin Wayne, Algorithms, 4th edition, companion WeightedQuickUnionUF.java: class documentation and union method; union by size without path compression, linear initialization and logarithmic operations











