CORE
πΊπ¦Β
Β make metadata, not war
Services
Services overview
Explore all CORE services
Access to raw data
API
Dataset
FastSync
Content discovery
Recommender
Discovery
OAI identifiers
OAI Resolver
Managing content
Dashboard
Bespoke contracts
Consultancy services
Support us
Support us
Membership
Sponsorship
Community governance
Advisory Board
Board of supporters
Research network
About
About us
Our mission
Team
Blog
FAQs
Contact us
research
Selection from read-only memory with limited workspace
Authors
A. Golynski
B. Chazelle
+16Β more
D.E. Knuth
G. Jacobson
G. Navarro
G.N. Frederickson
J. Pagter
J.I. Munro
J.I. Munro
J.I. Munro
M. Blum
P. Beame
R. Grossi
R. Raman
T. Asano
T.H. Cormen
T.M. Chan
V. Raman
Publication date
1 January 2013
Publisher
Doi
Cite
View
on
arXiv
Abstract
Given an unordered array of
N
N
N
elements drawn from a totally ordered set and an integer
k
k
k
in the range from
1
1
1
to
N
N
N
, in the classic selection problem the task is to find the
k
k
k
-th smallest element in the array. We study the complexity of this problem in the space-restricted random-access model: The input array is stored on read-only memory, and the algorithm has access to a limited amount of workspace. We prove that the linear-time prune-and-search algorithm---presented in most textbooks on algorithms---can be modified to use
Ξ
(
N
)
\Theta(N)
Ξ
(
N
)
bits instead of
Ξ
(
N
)
\Theta(N)
Ξ
(
N
)
words of extra space. Prior to our work, the best known algorithm by Frederickson could perform the task with
Ξ
(
N
)
\Theta(N)
Ξ
(
N
)
bits of extra space in
O
(
N
lg
β‘
β
N
)
O(N \lg^{*} N)
O
(
N
l
g
β
N
)
time. Our result separates the space-restricted random-access model and the multi-pass streaming model, since we can surpass the
Ξ©
(
N
lg
β‘
β
N
)
\Omega(N \lg^{*} N)
Ξ©
(
N
l
g
β
N
)
lower bound known for the latter model. We also generalize our algorithm for the case when the size of the workspace is
Ξ
(
S
)
\Theta(S)
Ξ
(
S
)
bits, where
lg
β‘
3
N
β€
S
β€
N
\lg^3{N} \leq S \leq N
l
g
3
N
β€
S
β€
N
. The running time of our generalized algorithm is
O
(
N
lg
β‘
β
(
N
/
S
)
+
N
(
lg
β‘
N
)
/
lg
β‘
S
)
O(N \lg^{*}(N/S) + N (\lg N) / \lg{} S)
O
(
N
l
g
β
(
N
/
S
)
+
N
(
l
g
N
)
/
l
g
S
)
, slightly improving over the
O
(
N
lg
β‘
β
(
N
(
lg
β‘
N
)
/
S
)
+
N
(
lg
β‘
N
)
/
lg
β‘
S
)
O(N \lg^{*}(N (\lg N)/S) + N (\lg N) / \lg{} S)
O
(
N
l
g
β
(
N
(
l
g
N
)
/
S
)
+
N
(
l
g
N
)
/
l
g
S
)
bound of Frederickson's algorithm. To obtain the improvements mentioned above, we developed a new data structure, called the wavelet stack, that we use for repeated pruning. We expect the wavelet stack to be a useful tool in other applications as well.Comment: 16 pages, 1 figure, Preliminary version appeared in COCOON-201
Similar works
Full text
Available Versions
Crossref
See this paper in CORE
Go to the repository landing page
Download from data provider
info:doi/10.1007%2F978-3-642-3...
Last time updated on 03/01/2020
Copenhagen University Research Information System
See this paper in CORE
Go to the repository landing page
Download from data provider
oai:pure.atira.dk:publications...
Last time updated on 18/12/2019
Copenhagen University Research Information System
See this paper in CORE
Go to the repository landing page
Download from data provider
oai:pure.atira.dk:publications...
Last time updated on 18/12/2019