34,006 research outputs found

    Fusion Tree Sorting

    Full text link
    The sorting problem is one of the most relevant problems in computer science. Within the scope of modern computer science it has been studied for more than 70 years. In spite of these facts, new sorting algorithms have been developed in recent years. Among several types of sorting algorithms, some are quicker; others are more economic in relation to space, whereas others insert a few restrictions in relation to data input. This paper is aimed at explaining the fusion tree data structure, which is responsible for the first sorting algorithm with complexity time smaller than nlgn. The nlgn time complexity has led to some confusion and generated the wrong belief in part of the community of being the minimum possible for this type of problem.Comment: 17 page

    Dynamic Ordered Sets with Exponential Search Trees

    Full text link
    We introduce exponential search trees as a novel technique for converting static polynomial space search structures for ordered sets into fully-dynamic linear space data structures. This leads to an optimal bound of O(sqrt(log n/loglog n)) for searching and updating a dynamic set of n integer keys in linear space. Here searching an integer y means finding the maximum key in the set which is smaller than or equal to y. This problem is equivalent to the standard text book problem of maintaining an ordered set (see, e.g., Cormen, Leiserson, Rivest, and Stein: Introduction to Algorithms, 2nd ed., MIT Press, 2001). The best previous deterministic linear space bound was O(log n/loglog n) due Fredman and Willard from STOC 1990. No better deterministic search bound was known using polynomial space. We also get the following worst-case linear space trade-offs between the number n, the word length w, and the maximal key U < 2^w: O(min{loglog n+log n/log w, (loglog n)(loglog U)/(logloglog U)}). These trade-offs are, however, not likely to be optimal. Our results are generalized to finger searching and string searching, providing optimal results for both in terms of n.Comment: Revision corrects some typoes and state things better for applications in subsequent paper

    Model of fibrolamellar hepatocellular carcinomas reveals striking enrichment in cancer stem cells

    Get PDF
    The aetiology of human fibrolamellar hepatocellular carcinomas (hFL-HCCs), cancers occurring increasingly in children to young adults, is poorly understood. We present a transplantable tumour line, maintained in immune-compromised mice, and validate it as a bona fide model of hFL-HCCs by multiple methods. RNA-seq analysis confirms the presence of a fusion transcript (DNAJB1-PRKACA) characteristic of hFL-HCC tumours. The hFL-HCC tumour line is highly enriched for cancer stem cells as indicated by limited dilution tumourigenicity assays, spheroid formation and flow cytometry. Immunohistochemistry on the hFL-HCC model, with parallel studies on 27 primary hFL-HCC tumours, provides robust evidence for expression of endodermal stem cell traits. Transcriptomic analyses of the tumour line and of multiple, normal hepatic lineage stages reveal a gene signature for hFL-HCCs closely resembling that of biliary tree stem cells-newly discovered precursors for liver and pancreas. This model offers unprecedented opportunities to investigate mechanisms underlying hFL-HCCs pathogenesis and potential therapies

    Dynamic Integer Sets with Optimal Rank, Select, and Predecessor Search

    Full text link
    We present a data structure representing a dynamic set S of w-bit integers on a w-bit word RAM. With |S|=n and w > log n and space O(n), we support the following standard operations in O(log n / log w) time: - insert(x) sets S = S + {x}. - delete(x) sets S = S - {x}. - predecessor(x) returns max{y in S | y= x}. - rank(x) returns #{y in S | y< x}. - select(i) returns y in S with rank(y)=i, if any. Our O(log n/log w) bound is optimal for dynamic rank and select, matching a lower bound of Fredman and Saks [STOC'89]. When the word length is large, our time bound is also optimal for dynamic predecessor, matching a static lower bound of Beame and Fich [STOC'99] whenever log n/log w=O(log w/loglog w). Technically, the most interesting aspect of our data structure is that it supports all the above operations in constant time for sets of size n=w^{O(1)}. This resolves a main open problem of Ajtai, Komlos, and Fredman [FOCS'83]. Ajtai et al. presented such a data structure in Yao's abstract cell-probe model with w-bit cells/words, but pointed out that the functions used could not be implemented. As a partial solution to the problem, Fredman and Willard [STOC'90] introduced a fusion node that could handle queries in constant time, but used polynomial time on the updates. We call our small set data structure a dynamic fusion node as it does both queries and updates in constant time.Comment: Presented with different formatting in Proceedings of the 55nd IEEE Symposium on Foundations of Computer Science (FOCS), 2014, pp. 166--175. The new version fixes a bug in one of the bounds stated for predecessor search, pointed out to me by Djamal Belazzougu
    • …
    corecore