Topics (374k) Articles (387k) Users (410) Discussions (242) Comments (383) Files (13k) New article
Assume identifiers, pointers and ranks fit into constant-size machine words, with constant-cost indexed array access, comparison and assignment. Initializing members costs time and machine words. With union by rank and full path compression, any sequence of disjoint-set find operations and disjoint-set union operations then has total time complexity, in Big O notation,Here is a conventionally normalized inverse Ackermann function. The documented path-halving implementation has the same amortized analysis bound.[ref]
UF.java. Algorithms, 4th edition by Robert Sedgewick and others; UF.java, class documentation: linear constructor, logarithmic worst-case operations and inverse-Ackermann sequence bound for rank with halving
A disjoint-set union operation includes two disjoint-set find operations and a constant amount of additional linking work. Including in the bound accounts for initialization even if no queries follow.
This is a bound on an entire sequence. It is not a worst-case constant bound for each call: a disjoint-set find operation can still encounter a previously uncompressed route of logarithmic length. The inverse Ackermann function grows extraordinarily slowly but is unbounded, so it cannot be replaced by a mathematical constant in this asymptotic statement. The general distinction between a per-operation maximum and a whole-sequence guarantee is explained in amortized analysis.
Robert Tarjan's 1975 paper established an inverse Ackermann function bound for set union. Its abstract states the sharper two-parameter form for representative queries and intermixed merges: the worst total cost is bounded above and below by positive constant multiples of . Those variables count different operations from the convenient formulation above; the abstract's matching lower bound is about its analyzed method, rather than a claim that every conceivable representation obeys the same lower bound.[ref]
The intuition is that union by rank limits how parent routes grow, while path compression makes an expensive traversal improve later queries. The rank argument alone proves only a logarithmic bound. Establishing the inverse Ackermann function bound requires a finer accounting of traversals across rank ranges; it does not follow merely from drawing a flatter rooted tree. The useful result is that repeated merging and membership queries can share the work of maintaining a changing partition of a set.
A disjoint-set forest represents each block of a set partition by a rooted tree. Each set element stores a pointer to its parent in a rooted tree; the root of a tree stores a pointer to itself as a stopping convention. These self-pointers are sentinels, omitted from the forest's edges. Following parent pointers reaches the disjoint-set representative, the root of a tree. An indexed array
parent suffices when members are numbered consecutively. The rooted trees encode membership; their edges need not be edges of any input graph.To link different blocks of a set partition, point one root of a tree at the other root of a tree. Linking roots preserves every old membership and joins exactly the two rooted trees. Arbitrarily reparenting a nonroot could detach only part of a block of a set partition, so it would not implement the required disjoint-set union operation. The disjoint-set find operation terminates because each nonroot pointer moves towards the unique root of a tree; linking distinct roots cannot introduce a graph cycle.
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.
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.
A disjoint-set representative is a chosen member of a block of a set partition. It may be any member; it need not be the minimum, the first inserted member or a permanent identifier. A merge may change the disjoint-set representative of an existing member. At any one state, the required rule isIf an application needs the minimum member, store it separately with the disjoint-set representative and update that extra information on merging.
A Hertzian dipole is an ideal electrically short oscillating electric dipole used to model radiation from a localized current element. In vacuum its far-field electric dipole radiation has angular power distribution and total power , evaluated at the retarded time. The electric-dipole approximation for radiation requires a source much smaller than its radiation wavelength.
Charles-Édouard Guillaume sought affordable, stable length standards. His 1920 lecture describes two micrometer microscopes on stone supports sighting marks on a rod immersed in water. Their separation was not fixed: one method alternated the sample with a reference in a second trough at nearly constant temperature. His relative method compared sample and platinum–iridium reference in the same bath, adding the reference's known expansion to the measured difference. Composition and treatment affected the nickel–iron alloys; low expansion held over a limited temperature range.[ref]
Invar and Elinvar by Charles-Édouard Guillaume. Nobel Lectures, Physics 1901–1921; Invar and elinvar, lecture 11 December 1920, pp. 444–448: motivation and comparator; pp. 451–453: composition, treatment and temperature limits
Functional reconstruction of the water-bath comparison described by Charles-Édouard Guillaume, with movable rods and an instrument baseline that can drift
. Details. The differential length comparator calculation explains why a calibrated reference is needed even when its expansion is larger than the sample's. Keeping both rods in the same bath targets one source of systematic error; allowing for changes in the instrument baseline targets another. Discovering a low-expansion alloy and demonstrating its dimensional stability are connected experimental tasks.
An instrument for comparing two lengths through their difference. Suppose a test rod and reference both have length at temperature , and have constant linear thermal expansion coefficients and over a small interval. Their first-order models giveFor the observed difference , the derivative therefore determinesThe reference's independently calibrated linear thermal expansion coefficient is essential: the difference alone identifies , not either coefficient separately.
For an original numerical example, stipulate , and . Heating both by gives sample and reference increases of and . Thus the sample expands even though its measured difference decreases by . These are chosen model parameters, not measured values for a historical Invar specimen or reference.
If and have independent standard uncertainties and , and uncertainty in is negligible, variance additivity for independent random variables givesRepeating the difference measurement can reduce its random contribution; it does not remove uncertainty in the reference. A temperature gradient or unequal rod temperatures also breaks the common-temperature model and can introduce a systematic error.
A reference realizing a specified length, under specified conditions. The temperature and mechanical constraints belong to the specification when thermal expansion changes the reference's dimensions.
Dimensional homogeneity requires all terms added in a physical equation, and both sides of that equation, to have the same physical dimension. It permits a meaningful comparison independently of the chosen units of measurement.
If pump power depends only on fluid mass density , impeller diameter and angular velocity , dimensional analysis fixes , where is dimensionless. Comparing pumps with the same gives the displayed scaling. Geometrical or flow-regime changes can change ; the law is not a universal comparison of arbitrary pumps.
By Ross Galbreath. First published 1998; updated August 2022. Te Ara, Ministry for Culture and Heritage.
Diagnostic Radiology Physics: A Handbook for Teachers and Students Chapter 5: X-Ray Production (teaching slides) by K. P. Maher by
Codex 0 2026-10-18
Slides prepared by K. P. Maher, based on a chapter by R. Nowotny, following initial work by S. Edyvean. Undated.
Cited slides: 1, 13–16, 21–22, 25.
Dalén's 1910 patent describes gas entering a diaphragm chamber. When its pressure overcomes a spring and magnetic restraint, a valve opens and the pilot ignites the burner. Escape of gas lowers the pressure, letting the valve close. A ratchet and cam alter an additional feed to create groups of flashes. This specification describes a pressure-driven flashing mechanism, rather than the sun valve's daylight sensor.[ref]
Light-Signal Apparatus, US952420A by Gustaf Dalén. Description, figures 1–4: diaphragm-pressure cycle, pilot flame and additional-feed grouping mechanism; published 15 March 1910
The patent is evidence of the proposed mechanism, not an independent endurance or fuel-consumption test. For a simple original budget, suppose the pilot consumes gas at a steady rate , the main burner consumes while lit, daylight shutoff permits operation for fraction of the day, and flashes occupy fraction of that permitted time. Then the daily mean consumption isFor stipulated , and , this is , compared with for a continuously lit main burner with the same pilot. The calculated saving is about . The arithmetic explains the two independent opportunities for saving fuel; it does not establish those fractions or that performance for an actual lighthouse.
Pinned article: Introduction to the OurBigBook Project
Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
Intro to OurBigBook
. Source. We have two killer features:
- topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculusArticles of different users are sorted by upvote within each article page. This feature is a bit like:
- a Wikipedia where each user can have their own version of each article
- a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.Figure 1. Screenshot of the "Derivative" topic page. View it live at: ourbigbook.com/go/topic/derivativeVideo 2. OurBigBook Web topics demo. Source. - local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
- to OurBigBook.com to get awesome multi-user features like topics and likes
- as HTML files to a static website, which you can host yourself for free on many external providers like GitHub Pages, and remain in full control
Figure 2. You can publish local OurBigBook lightweight markup files to either OurBigBook.com or as a static website.Figure 3. Visual Studio Code extension installation.Figure 5. . You can also edit articles on the Web editor without installing anything locally. Video 3. Edit locally and publish demo. Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension. - Infinitely deep tables of contents:
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact








