34,006 research outputs found
Fusion Tree Sorting
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
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
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
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
- …