19,267 research outputs found

    A Node-Positioning Algorithm for General Trees

    Get PDF
    Abstract Keywords Drawing a tree consists of two stages: determining the position of each node, and actually rendering the individuals nodes and interconnecting branches. The algorithm described in this paper is concerned with the first stage: given a list of nodes. an indication of the hierarchical relationship among them. and their shape and size, wrere should each node be positioned for optimal aesthetic effect? This algorithm determines the positions of the nodes for any arbitrary general tree. It is the most desirable positioning with respect to certain widelyaccepted heuristics. The positioning, specified in x, y coordinates, minimizes the width of the tree. In a general tree, there is no limit on the number of offspring per node; this contrasts with binary and ternary trees, for example, which are trees with a limit of 2 and 3 offspring per node. This algorithm operates in time O(N), where N is the number of nodes in the tree. Previously, most tree drawings have been positioned by the sure hand of a human graphic designer. Many computer-generated positionings have been either trivial or contained irregularities. Earlier work by Wetherell and Shannon (1979) and Tilford (1981), upon which this algorithm builds, failed to correctly position the interior nodes of some trees. Radack (1988), also building on Tilford's work, has solved this same problem with a different method which makes four passes. The algorithm presented here correctly positions a tree's nodes using only two passes. It also handles several practical considerations: alternate orientations of the tree, variable node sizes, and out-of-bounds condi- tions. Aesthetics, computer graphics, drawing methods, tree drawing, tree structures Abstract ii Content

    Study and implementation of some tree drawing algorithms

    Get PDF
    Graph drawing deals with the geometric representation of graphs [1]. Data representation problems that require graph models can be better understood when visualized with appropriate graph drawings. The typical data structure for modeling hierarchical information is a tree whose vertices represent entities and whose edges correspond to relationships between entities. Algorithms for drawing trees are typically based on some graph-theoretic insight into the structure of the tree. It is characterized by the fact that in the drawings produced, the nodes at the same distance from the root are horizontally aligned [1]. This level-based approach can be used for both binary and general trees. Algorithms based on this approach involve some issues that lead to aesthetically wider than necessary drawings. I implemented “A Naïve Tree Drawing Algorithm” [2] as part of an independent study. This will serve as a basis and an introduction to this proposed thesis. In this thesis, we develop some tree drawing algorithms and a planarity drawing algorithm in terms of constructing a new pseudocode for each algorithm. Also, we focus on the theoretical graphic insight to the structure of the tree by building a drawing application for each algorithm. These applications provide an important view of the properties of drawing trees. In addition, these algorithms are implemented in a GUI (JEdit) that reflects an efficient aesthetic drawing. The input graph is checked to verify that it is a tree. The user sees an error message otherwise. These algorithms allow the user to select the root in an input tree. This leads to a better understanding of the algorithms. Most of these algorithms calculate the levels of the tree and the number of the nodes in each level. These algorithms are : the “Recursive Algorithm for Binary Trees” from [3], which has many steps, the “A Node-Positioning Algorithm for General Trees” from [4], the “Area-Efficient Order-Preserving Planar Straight-Line Drawings of Ordered Trees” from Section 3 of [5], and “Planarity Drawing Algorithm” from Section 2 of [6].Thesis (M.S.)Department of Computer ScienceGraph drawing basics and (GUI) for graph theory -- A naive tree drawing algorithm -- Recursive algorithm for binary trees -- A node positioning algorithm for general trees -- Area-efficient order-preserving planar straight-line drawings of ordered trees -- Planarity drawing algorithm

    Abstract unordered and ordered trees CRDT

    Get PDF
    Trees are fundamental data structure for many areas of computer science and system engineering. In this report, we show how to ensure eventual consistency of optimistically replicated trees. In optimistic replication, the different replicas of a distributed system are allowed to diverge but should eventually reach the same value if no more mutations occur. A new method to ensure eventual consistency is to design Conflict-free Replicated Data Types (CRDT). In this report, we design a collection of tree CRDT using existing set CRDTs. The remaining concurrency problems particular to tree data structure are resolved using one or two layers of correction algorithm. For each of these layer, we propose different and independent policies. Any combination of set CRDT and policies can be constructed, giving to the distributed application programmer the entire control of the behavior of the shared data in face of concurrent mutations. We also propose to order these trees by adding a positioning layer which is also independent to obtain a collection of ordered tree CRDTs

    Space-Time Hierarchical-Graph Based Cooperative Localization in Wireless Sensor Networks

    Full text link
    It has been shown that cooperative localization is capable of improving both the positioning accuracy and coverage in scenarios where the global positioning system (GPS) has a poor performance. However, due to its potentially excessive computational complexity, at the time of writing the application of cooperative localization remains limited in practice. In this paper, we address the efficient cooperative positioning problem in wireless sensor networks. A space-time hierarchical-graph based scheme exhibiting fast convergence is proposed for localizing the agent nodes. In contrast to conventional methods, agent nodes are divided into different layers with the aid of the space-time hierarchical-model and their positions are estimated gradually. In particular, an information propagation rule is conceived upon considering the quality of positional information. According to the rule, the information always propagates from the upper layers to a certain lower layer and the message passing process is further optimized at each layer. Hence, the potential error propagation can be mitigated. Additionally, both position estimation and position broadcasting are carried out by the sensor nodes. Furthermore, a sensor activation mechanism is conceived, which is capable of significantly reducing both the energy consumption and the network traffic overhead incurred by the localization process. The analytical and numerical results provided demonstrate the superiority of our space-time hierarchical-graph based cooperative localization scheme over the benchmarking schemes considered.Comment: 14 pages, 15 figures, 4 tables, accepted to appear on IEEE Transactions on Signal Processing, Sept. 201
    • 

    corecore