771,192 research outputs found

    A Henneberg-based algorithm for generating tree-decomposable minimally rigid graphs

    Get PDF
    In this work we describe an algorithm to generate tree-decomposable minimally rigid graphs on a given set of vertices V . The main idea is based on the well-known fact that all minimally rigid graphs, also known as Laman graphs, can be generated via Henneberg sequences. Given that not each minimally rigid graph is tree-decomposable, we identify a set of conditions on the way Henneberg steps are applied so that the resulting graph is tree-decomposable. We show that the worst case running time of the algorithm is O(|V|3).Postprint (author's final draft

    An Elegant Algorithm for the Construction of Suffix Arrays

    Get PDF
    The suffix array is a data structure that finds numerous applications in string processing problems for both linguistic texts and biological data. It has been introduced as a memory efficient alternative for suffix trees. The suffix array consists of the sorted suffixes of a string. There are several linear time suffix array construction algorithms (SACAs) known in the literature. However, one of the fastest algorithms in practice has a worst case run time of O(n2)O(n^2). The problem of designing practically and theoretically efficient techniques remains open. In this paper we present an elegant algorithm for suffix array construction which takes linear time with high probability; the probability is on the space of all possible inputs. Our algorithm is one of the simplest of the known SACAs and it opens up a new dimension of suffix array construction that has not been explored until now. Our algorithm is easily parallelizable. We offer parallel implementations on various parallel models of computing. We prove a lemma on the \ell-mers of a random string which might find independent applications. We also present another algorithm that utilizes the above algorithm. This algorithm is called RadixSA and has a worst case run time of O(nlogn)O(n\log{n}). RadixSA introduces an idea that may find independent applications as a speedup technique for other SACAs. An empirical comparison of RadixSA with other algorithms on various datasets reveals that our algorithm is one of the fastest algorithms to date. The C++ source code is freely available at http://www.engr.uconn.edu/~man09004/radixSA.zi

    Causality, influence, and computation in possibly disconnected synchronous dynamic networks

    Get PDF
    In this work, we study the propagation of influence and computation in dynamic distributed computing systems that are possibly disconnected at every instant. We focus on a synchronous message-passing communication model with broadcast and bidirectional links. Our network dynamicity assumption is a worst-case dynamicity controlled by an adversary scheduler, which has received much attention recently. We replace the usual (in worst-case dynamic networks) assumption that the network is connected at every instant by minimal temporal connectivity conditions. Our conditions only require that another causal influence occurs within every time window of some given length. Based on this basic idea, we define several novel metrics for capturing the speed of information spreading in a dynamic network. We present several results that correlate these metrics. Moreover, we investigate termination criteria in networks in which an upper bound on any of these metrics is known. We exploit our termination criteria to provide efficient (and optimal in some cases) protocols that solve the fundamental counting and all-to-all token dissemination (or gossip) problems

    DYNAMIC MEMORY MANAGEMENT WITH REDUCED FRAGMENTATION USING THE BEST-FIT APPROACH

    Get PDF
    This disclosure relates to the field of Dynamic memory management in general. Disclosed idea makes use of the Best fit approach which makes use of the balanced trees with nodes sorted based on key values corresponding to free memory portion sizes. Also disclosed is the method to efficiently coalesce the freed memory. This idea addresses the disadvantages of sequential search mechanism of finding the available free space and firstfit approach of memory management in the current flat memory-based allocators that are based on [1] approach. The current mechanism for dynamic memory management in use in most of the systems follows a sequential search for all the operations, this leads to a worst-case time complexity of O(N) and it follows the first-fit approach to allocate the first available free space for any request which leads to fragmentation issues
    corecore