scispace - formally typeset
Search or ask a question

Showing papers on "Tree (data structure) published in 1981"


Journal ArticleDOI
TL;DR: The structural description of an object and the concepts of exact and inexact matching of two structural descriptions are formally defined and the formula for the expected number of nodes in the tree for backtracking alone and with a forward checking algorithm is developed.
Abstract: In this paper we formally define the structural description of an object and the concepts of exact and inexact matching of two structural descriptions We discuss the problems associated with a brute-force backtracking tree search for inexact matching and develop several different algorithms to make the tree search more efficient We develop the formula for the expected number of nodes in the tree for backtracking alone and with a forward checking algorithm Finally, we present experimental results showing that forward checking is the most efficient of the algorithms tested

622 citations


Journal ArticleDOI
TL;DR: An algorithm for constructing a tree to satisfy a set of lineage constraints on common ancestors is presented and this algorithm is applied to synthesize a relational algebra expression from a simple tableau, a problem arising in the theory of relational databases.
Abstract: We present an algorithm for constructing a tree to satisfy a set of lineage constraints on common ancestors. We then apply this algorithm to synthesize a relational algebra expression from a simple tableau, a problem arising in the theory of relational databases.

428 citations



Journal ArticleDOI
TL;DR: Strip trees is a linear interpolation scheme which realizes an important space savings by not representing all the points explicitly, and even when the overhead of the tree indexing is added, the storage requirement is comparable to raster representations which do represent most of the points explicit.
Abstract: The use of curves to represent two-dimensional structures is an important part of many scientific investigations. For example, geographers use curves extensively to represent map features such as contour lines, roads, and rivers. Circuit layout designers use curves to specify the wiring between circuits. Because of the very large amount of data involved and the need to perform operations on this data efficiently, the representation of such curves is a crucial issue. A hierarchical representation consisting of binary trees with a special datum at each node is described. This datum is called a strip and the tree that contains such data is called a strip tree. Lower levels in the tree correspond to finer resolution representations of the curve. The strip tree structure is a direct consequence of using a special method for digitizing lines and retaining all intermediate steps. This gives several desirable properties. For curves that are well-behaved, intersection and point-membership (for closed curves) calculations can be solved in 0(log n) where n is the number of points describing the curve. The curves can be efficiently encoded and displayed at various resolutions. The representation is closed under intersection and union and these operations can be carried out at different resolutions. All these properties depend on the hierarchical tree structure which allows primitive operations to be performed at the lowest possible resolution with great computational time savings.Strip trees is a linear interpolation scheme which realizes an important space savings by not representing all the points explicitly. This means that even when the overhead of the tree indexing is added, the storage requirement is comparable to raster representations which do represent most of the points explicitly.

256 citations


Journal ArticleDOI

247 citations


Proceedings ArticleDOI
18 Oct 1981
TL;DR: A simple model for concurrently executing process trees, which gives a basis for matching the production of new tasks to the available resources, and a generalised interpretation of a familiar topology suited to the support of large, perhaps irregular, virtual process trees on a much smaller physical network.
Abstract: A wide variety of computational models, including the lambda calculus, may be represented by a set of reduction rules which guide the (run-time) construction of a process tree. Even a single source of parallelism in an otherwise lazy evaluator may give rise to an exponential growth in the process tree, which must eventually overwhelm any finite architecture.We present a simple model for concurrently executing such process trees, which gives us a basis for matching the production of new tasks to the available resources. In addition, we present a generalised interpretation of a familiar topology suited to the support of large, perhaps irregular, virtual process trees on a much smaller physical network.

223 citations


Journal ArticleDOI
TL;DR: An algorithm is presented which determines the amount of time required to pass, or to broadcast, a unit of information from an arbitrary vertex to every other vertex in a tree and it is shown that the subtree induced by the broadcast center of a tree is always a star with two or more vertices.
Abstract: In large organizations there is frequently a need to pass information from one place, e.g., the president’s office or company headquarters, to all other divisions, departments or employees. This is often done along organizational reporting lines. Insofar as most organizations are structured in a hierarchical or treelike fashion, this can be described as a process of information dissemination in trees. In this paper we present an algorithm which determines the amount of time required to pass, or to broadcast, a unit of information from an arbitrary vertex to every other vertex in a tree. As a byproduct of this algorithm we determine the broadcast center of a tree, i.e., the set of all vertices from which broadcasting can be accomplished in the least amount of time. It is shown that the subtree induced by the broadcast center of a tree is always a star with two or more vertices. We also show that the problem of determining the minimum amount of time required to broadcast from an arbitrary vertex in an arbit...

201 citations


Proceedings ArticleDOI
26 Jan 1981
TL;DR: The advantages of attribute grammars as a specification technique for a syntax-directed editing system are discussed and an efficient algorithm for incrementally evaluating attributes as a program tree is derived is presented.
Abstract: A syntax-directed editor is a tool for structured program development. Such an editor can enforce syntactic correctness incrementally by restricting editing operations to legitimate modifications of the program's context-free derivation tree. However, not all language features can be described by the context-free formalism. To build editors that enforce non-context-free correctness, a more powerful specification technique is needed. In this paper we discuss the advantages of attribute grammars as a specification technique for a syntax-directed editing system. We also present an efficient algorithm for incrementally evaluating attributes as a program tree is derived.

186 citations


Journal ArticleDOI
TL;DR: There are regular trees (as defined in the paper) which are nearly optimal among trees with a given number of nodes, and that minimal-cost trees are often nearly regular.

153 citations



Patent
Chung C. Wang1
25 Jun 1981
TL;DR: In this article, a data structure is arranged into a plurality of search trees, each defining patent nodes and terminal nodes, which are used to search a tree in each level of the data structure until the location of a terminating file is determined.
Abstract: A data structure and search method for a data base management system. The structure and method allow the locating of a stored record in a massive system in a controlled and small number of mass memory accesses. The data structure is arranged into a plurality of search trees, each defining patent nodes and terminal nodes. The nodes of a tree are hierarchically arranged, and the trees are hierarchically arranged as a whole into levels. The initial search tree and an initial subset of trees, in some cases, are designed to be maintained in a main fast access memory. The remaining trees are kept in mass memory. A plurality of first storage files maintained in the mass memory are associated with terminal nodes of each of the trees except the final trees in the hierarchical structure. Terminating storage files, which are the ultimate repository for information, are associated with terminal nodes of the final trees. An input search parameter is partitioned into a plurality of subparameters, one for each level of search trees. The subparameters are used to search a tree in each level of the data structure until the location of a terminating file is determined.

01 Nov 1981
TL;DR: In this paper, the competitive interrelationships among trees in a restricted spatial unit are calculated to predict the gap in a forest canopy created by the death or removal of a large canopy tree.
Abstract: The fundamental data for understanding the dynamics of forests are the diameters and species of the trees that make up the forest. Tree diameter changes for an individual tree as the tree grows. Over a given area, the statistical distribution of tree diameters changes as a complex consequence of tree birth, growth, and death. Because a forest is composed of many trees and because the number of factors affecting the life of each tree is large, realistic models of forest dynamics based on individual trees have developed only as computing power has become available. In this paper, models that simulate forest dynamics are treated by calculating the competitive interrelationships among trees in a restricted spatial unit--typically the gap in a forest canopy created by the death or removal of a large canopy tree. For this reason they are called gap models. Computer simulation models, which allow for numerous seedlings and the long lives of large trees, predict how forests will respond to different management techniques.(KRM)

Journal ArticleDOI
TL;DR: The tree is not formed a portion at a time, but is formed en toto without intervening estimates of branch lengths, based on a relaxed additivity (four-point metric) constraint.
Abstract: A procedure is presented that forms an unrooted tree-like structure from a matrix of pairwise differences. The tree is not formed a portion at a time, as methods now in use generally do, but is formed en toto without intervening estimates of branch lengths. The method is based on a relaxed additivity (four-point metric) constraint. From the tree, a classification may be formed.


Journal ArticleDOI
TL;DR: An algorithm for a simpler problem, namely, the partitioning of Tinto the maximum number of connected components whose weight is bounded below, is presented and combined with the technique of binary search yields an alternative algorithm for the max-rain k-partition problem with complexity dependent on the range of the given weights.
Abstract: The max-rain k-partition algorithm may be formulated as follows: Given a tree T with n edges and a nonnegative weight associated with each vertex, assign a cut to each of k distinct edges of T so as to maximize the weight of the lightest resulting connected subtree. An algorithm for this problem is presented which initially assigns all k cuts to one edge incident with a terminal vertex of T; thereafter the cuts are shifted from edge to adjacent edge on the basis of local information. An efficient implementation with complexity O(k 2. rd(T) + kn), where rd(T) is the number of edges in the radius of T, is described. An algorithm for a simpler problem, namely, the partitioning of Tinto the maximum number of connected components whose weight is bounded below, is then described. Combined with the technique of binary search, it yields an alternative algorithm for the max-rain k-partition problem with complexity dependent on the range of the given weights.




Journal ArticleDOI
TL;DR: Algorithms are presented for finding the area, centroid, union, intersection, and complement of binary images, all of which are linear in the number of nodes in the tree.

Book ChapterDOI
01 Jan 1981
TL;DR: A simple model of concurrent computations is presented in which disjoint instructions are executed concurrently by processors in a sufficiently large number under a shared memory environment.
Abstract: A simple model of concurrent computations is presented in which disjoint instructions /processes/ of program are executed concurrently by processors /in a sufficiently large number/ under a shared memory environment. The semantics of such a program specifies the tree of configuration sequences which are acceptable as possible computations of the program.


Journal ArticleDOI
TL;DR: In this article, a generalization for infinite trees of Silver's partition theorem was shown. This theorem implies a version for trees of the Nash-Williams partition theorem, which is the case in this paper.
Abstract: We prove a generalization for infinite trees of Silver's partition theorem. This theorem implies a version for trees of the Nash-Williams partition theorem.


Proceedings Article
09 Sep 1981
TL;DR: A new tree index organization for files, capable of efficiently supporting both random and sequential access, is introduced, called digital B-tree (DB-tree), which is similar in many aspects to B-trees but permits much larger fanout per node, thus reducing the height of the tree for a given file size.
Abstract: A new tree index organization for files, capable of efficiently supporting both random and sequential access, is introduced. The organization, called digital B-tree (DB-tree), is similar in many aspects to B-trees. Its advantage is that it permits much larger fanout per node, thus reducing the height of the tree for a given file size. The effect of this is to reduce the cost of a random access to the file. The fanout of DB-tree nodes is increased substantially by permitting multiple page nodes. The unique advantage of DB-trees is that only one page of the node need ever be examined for each data access. This is accomplished by using the bits of the key to compute which page of the node is desired, in a way similar to the technique used in extendible hashing, but without performing a hashing operation. The DB-tree organization is described and analyzed. Particular algorithms are suggested for searching, building, and maintaining DB-trees.


Journal ArticleDOI
TL;DR: An algorithm that chooses a search order dynamically by investigating all possibilities for k levels below the current level, extending beyond k levels wherever possible by setting the variables that have unique forced values.
Abstract: The order in which the variables are tested in a backtrack program can have a major effect on its running time. The best search order usually varies among the branches of the backtrack tree, so the number of possible search orders can be astronomical. We present an algorithm that chooses a search order dynamically by investigating all possibilities for k levels below the current level, extending beyond k levels wherever possible by setting the variables that have unique forced values. The algorithm takes time O(n k+1) to process a node. For k=2 and binary variables the analysis for selecting the next variable to introduce into the backtrack tree makes complete use of the information contained in the two-level investigations. For larger k or variables of higher degree there is no polynomial-time algorithm that makes complete use of the k-level investigations to limit searching (unless P=NP). The search rearrangement algorithm is closely related to constraint propagation. Experimental studies on conjunctive normal form predicates confirm that 1-level search rearrangement saves a great deal of time compared to 0-level (ordinary backtracking), and show that 2-level saves time over 1-level on large problems. For such problems with 256 variables 2-level is better than 1-level by a factor of two.

Patent
08 Sep 1981
TL;DR: In this paper, a decoding table memory is read out and the read out data is decided as to whether it is terminal or intermediate data, and this operation is repeated until a terminal data is obtained.
Abstract: In an apparatus for decoding a variable length code represented by a code tree, a decoding table memory is read out and the read out data is decided as to whether it is terminal or intermediate data. In the case of a terminal data, its decoded result information in the data is delivered out. In the case of an intermediate data, its data of the same number of bits as indicated by information of the data indicating the number of bits to be entered is entered from an input code train; this data and information of the intermediate data for determining an address of the decoding table memory to be accessed are added together to obtain the address of the memory to be accessed next; the address thus obtained is used to access the decoding table memory; and this operation is repeated until a terminal data is obtained.

Journal ArticleDOI
TL;DR: In this article, a survey was conducted of 72 cities in the United States to determine the status of municipal tree programs and the implications of the results are discussed under four broad categories of issues identified by the survey: (1) tree master planning, (2) community relations, (3) financial support, and (4) research and testing.

Journal ArticleDOI
01 Mar 1981
TL;DR: The authors suggest that languages of thousands of years ago either lacked "tree" or encoded it only as a low salience category by widening the referential application of a term for "wood." In this manner many of the world's languages acquired 'wood'/'tree' polysemy.
Abstract: Terms for 'tree' and other general biological categories such as 'grass', 'vine', 'fish' and 'bird' are relatively recent additions to languages. These broad categories have probably developed in response to most individuals being removed from daily intimate contact with the world of plant and animals as societies have increased in size and complexity. We suggest that languages of thousands of years ago either lacked 'tree' or encoded it only as a low salience category by widening the referential application of a term for 'wood.' In this manner many of the world's languages acquired 'wood'/'tree' polysemy. As salience of 'tree' grows with increases in societal complexity, languages tend to lose 'wood'/'tree' polysemy by developing separate terms for each referent.

Journal ArticleDOI
Douglas Comer1
TL;DR: This paper presents simulation experiments which show that the greedy method tends to produce tries with small size, and analysis leading to a worst case bound on approximations produced by the heuristic.
Abstract: A trie is a distributed-key search tree in which records from a file correspond to leaves in the tree. Retrieval consists of following a path from one root to a leaf, where the choice of edge at each node is determined by attribute values of the key. For full tries, those in which all leaves lie at the same depth, the problem of finding an ordering of attributes which yields a minimum size trie is NP-complete.This paper considers a “greedy” heuristic for constructing low-cost tries. It presents simulation experiments which show that the greedy method tends to produce tries with small size, and analysis leading to a worst case bound on approximations produced by the heuristic. It also shows a class of files for which the greedy method may perform badly, producing tries of high cost.