## A Parallel Tree Difference Algorithm (1995)

### Cached

### Download Links

- [www.qucis.queensu.ca]
- [www.cs.queensu.ca]
- [ftp.qucis.queensu.ca]
- DBLP

### Other Repositories/Bibliography

Venue: | Information Processing Letters |

Citations: | 3 - 0 self |

### BibTeX

@ARTICLE{Skillicorn95aparallel,

author = {D. B. Skillicorn},

title = {A Parallel Tree Difference Algorithm},

journal = {Information Processing Letters},

year = {1995},

volume = {60},

pages = {231--235}

}

### OpenURL

### Abstract

We present a tree difference algorithm with expected sequential execution time O(n log log n) and expected parallel execution time of O(log n), for trees of size n. The algorithm assumes unique labels and permits operations only on leaves and frontier subtrees. Despite these limitations, it can be useful in the analysis of structured text. 1 Applications of Tree Difference In this paper we describe an algorithm for determining the difference between two trees under the assumption that each node has a unique label chosen from an ordered set. The algorithm uses a novel form of hashing to quickly extract neighbourhood information for each node. In a second phase, this neighbourhood information is processed to determine what differences exist between the trees. We assume that trees may be arbitrarily branching, and that the following operations may have been applied to them: 1. a node was inserted to become a new leaf; 2. a leaf node was deleted; 3. a leaf node was moved to become a lea...

### Citations

180 |
Efficient Parallel Algorithms
- Gibbons, Rytter
- 1988
(Show Context)
Citation Context ... the leaves of the resulting binary tree from zero using an extension of the Euler tour technique in parallel logarithmic time under these same assumptions about storage arrangement. Tree contraction =-=[1, 2, 7]-=- computes a reduction on a binary tree in parallel logarithmic time, regardless of how skewed the tree might be. The idea is that the sequential dependency along the longest path from root to leaves c... |

120 |
Parallel tree contraction and its applications
- Miller, Reif
- 1985
(Show Context)
Citation Context ... the leaves of the resulting binary tree from zero using an extension of the Euler tour technique in parallel logarithmic time under these same assumptions about storage arrangement. Tree contraction =-=[1, 2, 7]-=- computes a reduction on a binary tree in parallel logarithmic time, regardless of how skewed the tree might be. The idea is that the sequential dependency along the longest path from root to leaves c... |

87 |
A Simple Parallel Tree Contraction Algorithm
- Abrahamson, Dadoun, et al.
- 1987
(Show Context)
Citation Context ... the leaves of the resulting binary tree from zero using an extension of the Euler tour technique in parallel logarithmic time under these same assumptions about storage arrangement. Tree contraction =-=[1, 2, 7]-=- computes a reduction on a binary tree in parallel logarithmic time, regardless of how skewed the tree might be. The idea is that the sequential dependency along the longest path from root to leaves c... |

78 |
Expected length of the longest probe sequence in hash code searching
- Gonnet
- 1981
(Show Context)
Citation Context ...the hash function performs badly. In practical terms, however, the expected value of the longest chain in a bin, when direct chaining is used, grows as \Gamma \Gamma1 (b) which is O(log b= log log b) =-=[5]-=-. Using a binary tree instead of a chain reduces this to O(log log b) since the uniform distribution guarantees that the tree will be balanced. Furthermore, the expected length of the longest chain or... |

24 |
Algebras for Tree Algorithms. D
- Gibbons
- 1991
(Show Context)
Citation Context ...probability. We model structured text by trees with arbitrary branching factor whose nodes are chosen from an enumerated type of entities with attributes. Objects of this type are known as rose trees =-=[3]-=- defined as follows: Definition 1 A rose tree is that type, RT (A), whose constructors are: RTLeaf : A ! RT (A) RTJoin : A \Theta RT (A) ! RT (A) where RT (A) denotes non-empty join lists of rose tree... |

18 | Efficient parallel algorithms for tree accumulations
- Gibbons, Cai, et al.
- 1994
(Show Context)
Citation Context ...ace. These restrictions are fairly mild for ordinary algebraic and boolean operations. Tree contraction can be extended to upwards accumulations under the same restrictions on the component functions =-=[4]-=-. So that the operations at internal nodes of the rose tree can be distributed over the nodes of the binary tree constructed from it, the component function p 2 must be expressible as p 2 = g 0 \Delta... |

3 |
Foundations of Parallel Computing. Cambridge Series in Parallel Computation
- Skillicorn
- 1994
(Show Context)
Citation Context ...es p 1 : A ! X p 2 : A \Theta Xs! X such that h(RTLeaf (a)) = p 1 (a) h(RTJoin(a; [t 1 ; t 2 ; : : : ; t n ])) = p 2 (a; h [t 1 ; t 2 ; : : : ; t n ]) where hsis the mapping of h over a list of trees =-=[9]-=-. This one-to-one correspondence between rose tree homomorphisms and such function pairs justifies the notation Hom(p 1 ; p 2 ) for h. eval homomorphism(p1, p2, t) case t of RTLeaf (a) : return p1 ( a... |

1 |
Fast algorithms for the unit cost editing
- Shasha, Zhang
- 1990
(Show Context)
Citation Context ...e to acquire some of x 's children as its children, and hence x 's grandchildren. A symmetric deletion moves the children of a deleted node up to become the children of the parent of the deleted node =-=[8]-=-. The assumption that each tree node has a unique label is probably not supportable for today's techniques for storing such trees. However, attributed file systems such as DFR [6] require such identif... |

1 |
General hash functions
- Uzgalis
- 1993
(Show Context)
Citation Context ... the EREW PRAM. A hash function maps an arbitrary set of n keys K , whose maximum length is bounded, to a set of bins 0; 1; : : : ; b \Gamma 1 described by a positive integer. A uniform hash function =-=[10]-=- produces random outputs uniformly distributed over [0; b \Gamma 1] for arbitrary key sets. It does this by ensuring that every bit of output depends on all of the bits of the input, and that the prob... |