Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a24f1abc8fb34603

Jump to content

Tree accumulation

From Wikipedia, the free encyclopedia

In computer science, tree accumulation is the process of accumulating data placed in tree nodes according to their tree structure.[1] Formally, this operation is a catamorphism.

Upward accumulation refers to accumulating on each node information about all descendants. Downward accumulation refers to accumulating on each node information of every ancestor.

One application would be calculating national election results. Construct a tree with the root node as the entire nation and each level representing refined geographical areas such as states/provinces, counties/parishes, cities/townships, and polling districts as the leaves. By accumulating the vote totals from the polling districts, one can compute the vote totals for each of the larger geographic areas.

Formal analysis

[edit]

Gibbons et al.[2] formally define binary tree accumulation as iterative application of a ternary operator ; where A are descendant labels and B is a junction label.

References

[edit]
  1. Gibbons, Jeremy (1991). Algebras for Tree Algorithms (PDF) (Ph.D.). Oxford University.
  2. Gibbons, Jeremy; Cai, Wentong; Skillcorn, David B. (1994). "Efficient parallel algorithms for tree accumulations". Science of Computer Programming. Elsiver.