Sorting strings and constructing digital search trees in parallel
We describe two simple optimal-work parallel algorithms for sorting a list L= ( X 1, X 2, …, X m ) of m strings over an arbitrary alphabet Σ, where ∑ i = 1 m¦X i¦ = n and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that ru...
Gespeichert in:
Veröffentlicht in: | Theoretical computer science 1996-02, Vol.154 (2), p.225-245 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 245 |
---|---|
container_issue | 2 |
container_start_page | 225 |
container_title | Theoretical computer science |
container_volume | 154 |
creator | JáJá, Joseph F. Ryu, Kwan Woo Vishkin, Uzi |
description | We describe two simple optimal-work parallel algorithms for sorting a list
L= (
X
1,
X
2, …,
X
m
) of
m strings over an arbitrary alphabet Σ, where
∑
i = 1
m¦X
i¦ = n
and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that runs in
O(
log
2
m/
log
log
m) time and the second is a randomized algorithm that runs in
O(
logm) time. Both algorithms use
O(
m
log
m +
n) operations. Compared to the best-known parallel algorithms for sorting strings, our algorithms offer the following improvements.
1.
1. The total number of operations used by our algorithms is optimal while all previous parallel algorithms use a nonoptimal number of operations.
2.
2. We make no assumption about the alphabet while the previous algorithms assume that the alphabet is restricted to {1, 2, …,
n
o(1)
}.
3.
3. The computation model assumed by our algorithms is the Common CRCW PRAM unlike the known algorithms that assume the Arbitrary CRCW PRAM.
4.
4. Our algorithms use
O(
m
log
m +
n) space, while the previous parallel algorithms use
O(
n
1 +
ε
) space, where ε is a positive constant.
We also present optimal-work parallel algorithms to construct a digital search tree for a given set of strings and to search for a string in a sorted list of strings. We use our parallel sorting algorithms to solve the problem of determining a minimal starting point of a circular string with respect to lexicographic ordering. Our solution improves upon the previous best-known result to solve this problem. |
doi_str_mv | 10.1016/0304-3975(94)00263-0 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_23846761</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>0304397594002630</els_id><sourcerecordid>23846761</sourcerecordid><originalsourceid>FETCH-LOGICAL-c381t-49995d097e5adc7d99437a5aed36648eab8608441a816efa437f911b2f4278bc3</originalsourceid><addsrcrecordid>eNp9kE1LAzEQhoMoWKv_wENOoofVZJPNx0UoxS8oeFDPIU1ma2S7W5NU8N-bbcWjc3mZed8ZmAehc0quKaHihjDCK6Zlc6n5FSG1YBU5QBOqpK7qWvNDNPmLHKOTlD5IqUaKCZq9DDGHfoVTjkUStr3HbuhLu3U7w4dVyLbDCWx07zhHgIRDjzc22q6D7hQdtbZLcParU_R2f_c6f6wWzw9P89mickzRXHGtdeOJltBY76TXmjNpGwueCcEV2KUSRHFOraICWlvcVlO6rFteS7V0bIou9nc3cfjcQspmHZKDrrM9DNtkaqa4kIKWIN8HXRxSitCaTQxrG78NJWbkZUYYZoRhNDc7XmU0Rbf7NShPfAWIJrkAvQMfIrhs_BD-P_ADNOBxew</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>23846761</pqid></control><display><type>article</type><title>Sorting strings and constructing digital search trees in parallel</title><source>Access via ScienceDirect (Elsevier)</source><source>EZB-FREE-00999 freely available EZB journals</source><creator>JáJá, Joseph F. ; Ryu, Kwan Woo ; Vishkin, Uzi</creator><creatorcontrib>JáJá, Joseph F. ; Ryu, Kwan Woo ; Vishkin, Uzi</creatorcontrib><description>We describe two simple optimal-work parallel algorithms for sorting a list
L= (
X
1,
X
2, …,
X
m
) of
m strings over an arbitrary alphabet Σ, where
∑
i = 1
m¦X
i¦ = n
and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that runs in
O(
log
2
m/
log
log
m) time and the second is a randomized algorithm that runs in
O(
logm) time. Both algorithms use
O(
m
log
m +
n) operations. Compared to the best-known parallel algorithms for sorting strings, our algorithms offer the following improvements.
1.
1. The total number of operations used by our algorithms is optimal while all previous parallel algorithms use a nonoptimal number of operations.
2.
2. We make no assumption about the alphabet while the previous algorithms assume that the alphabet is restricted to {1, 2, …,
n
o(1)
}.
3.
3. The computation model assumed by our algorithms is the Common CRCW PRAM unlike the known algorithms that assume the Arbitrary CRCW PRAM.
4.
4. Our algorithms use
O(
m
log
m +
n) space, while the previous parallel algorithms use
O(
n
1 +
ε
) space, where ε is a positive constant.
We also present optimal-work parallel algorithms to construct a digital search tree for a given set of strings and to search for a string in a sorted list of strings. We use our parallel sorting algorithms to solve the problem of determining a minimal starting point of a circular string with respect to lexicographic ordering. Our solution improves upon the previous best-known result to solve this problem.</description><identifier>ISSN: 0304-3975</identifier><identifier>EISSN: 1879-2294</identifier><identifier>DOI: 10.1016/0304-3975(94)00263-0</identifier><language>eng</language><publisher>Elsevier B.V</publisher><ispartof>Theoretical computer science, 1996-02, Vol.154 (2), p.225-245</ispartof><rights>1996</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c381t-49995d097e5adc7d99437a5aed36648eab8608441a816efa437f911b2f4278bc3</citedby><cites>FETCH-LOGICAL-c381t-49995d097e5adc7d99437a5aed36648eab8608441a816efa437f911b2f4278bc3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://dx.doi.org/10.1016/0304-3975(94)00263-0$$EHTML$$P50$$Gelsevier$$Hfree_for_read</linktohtml><link.rule.ids>315,781,785,3551,27929,27930,46000</link.rule.ids></links><search><creatorcontrib>JáJá, Joseph F.</creatorcontrib><creatorcontrib>Ryu, Kwan Woo</creatorcontrib><creatorcontrib>Vishkin, Uzi</creatorcontrib><title>Sorting strings and constructing digital search trees in parallel</title><title>Theoretical computer science</title><description>We describe two simple optimal-work parallel algorithms for sorting a list
L= (
X
1,
X
2, …,
X
m
) of
m strings over an arbitrary alphabet Σ, where
∑
i = 1
m¦X
i¦ = n
and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that runs in
O(
log
2
m/
log
log
m) time and the second is a randomized algorithm that runs in
O(
logm) time. Both algorithms use
O(
m
log
m +
n) operations. Compared to the best-known parallel algorithms for sorting strings, our algorithms offer the following improvements.
1.
1. The total number of operations used by our algorithms is optimal while all previous parallel algorithms use a nonoptimal number of operations.
2.
2. We make no assumption about the alphabet while the previous algorithms assume that the alphabet is restricted to {1, 2, …,
n
o(1)
}.
3.
3. The computation model assumed by our algorithms is the Common CRCW PRAM unlike the known algorithms that assume the Arbitrary CRCW PRAM.
4.
4. Our algorithms use
O(
m
log
m +
n) space, while the previous parallel algorithms use
O(
n
1 +
ε
) space, where ε is a positive constant.
We also present optimal-work parallel algorithms to construct a digital search tree for a given set of strings and to search for a string in a sorted list of strings. We use our parallel sorting algorithms to solve the problem of determining a minimal starting point of a circular string with respect to lexicographic ordering. Our solution improves upon the previous best-known result to solve this problem.</description><issn>0304-3975</issn><issn>1879-2294</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1996</creationdate><recordtype>article</recordtype><recordid>eNp9kE1LAzEQhoMoWKv_wENOoofVZJPNx0UoxS8oeFDPIU1ma2S7W5NU8N-bbcWjc3mZed8ZmAehc0quKaHihjDCK6Zlc6n5FSG1YBU5QBOqpK7qWvNDNPmLHKOTlD5IqUaKCZq9DDGHfoVTjkUStr3HbuhLu3U7w4dVyLbDCWx07zhHgIRDjzc22q6D7hQdtbZLcParU_R2f_c6f6wWzw9P89mickzRXHGtdeOJltBY76TXmjNpGwueCcEV2KUSRHFOraICWlvcVlO6rFteS7V0bIou9nc3cfjcQspmHZKDrrM9DNtkaqa4kIKWIN8HXRxSitCaTQxrG78NJWbkZUYYZoRhNDc7XmU0Rbf7NShPfAWIJrkAvQMfIrhs_BD-P_ADNOBxew</recordid><startdate>19960205</startdate><enddate>19960205</enddate><creator>JáJá, Joseph F.</creator><creator>Ryu, Kwan Woo</creator><creator>Vishkin, Uzi</creator><general>Elsevier B.V</general><scope>6I.</scope><scope>AAFTH</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19960205</creationdate><title>Sorting strings and constructing digital search trees in parallel</title><author>JáJá, Joseph F. ; Ryu, Kwan Woo ; Vishkin, Uzi</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c381t-49995d097e5adc7d99437a5aed36648eab8608441a816efa437f911b2f4278bc3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1996</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>JáJá, Joseph F.</creatorcontrib><creatorcontrib>Ryu, Kwan Woo</creatorcontrib><creatorcontrib>Vishkin, Uzi</creatorcontrib><collection>ScienceDirect Open Access Titles</collection><collection>Elsevier:ScienceDirect:Open Access</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Theoretical computer science</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>JáJá, Joseph F.</au><au>Ryu, Kwan Woo</au><au>Vishkin, Uzi</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Sorting strings and constructing digital search trees in parallel</atitle><jtitle>Theoretical computer science</jtitle><date>1996-02-05</date><risdate>1996</risdate><volume>154</volume><issue>2</issue><spage>225</spage><epage>245</epage><pages>225-245</pages><issn>0304-3975</issn><eissn>1879-2294</eissn><abstract>We describe two simple optimal-work parallel algorithms for sorting a list
L= (
X
1,
X
2, …,
X
m
) of
m strings over an arbitrary alphabet Σ, where
∑
i = 1
m¦X
i¦ = n
and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that runs in
O(
log
2
m/
log
log
m) time and the second is a randomized algorithm that runs in
O(
logm) time. Both algorithms use
O(
m
log
m +
n) operations. Compared to the best-known parallel algorithms for sorting strings, our algorithms offer the following improvements.
1.
1. The total number of operations used by our algorithms is optimal while all previous parallel algorithms use a nonoptimal number of operations.
2.
2. We make no assumption about the alphabet while the previous algorithms assume that the alphabet is restricted to {1, 2, …,
n
o(1)
}.
3.
3. The computation model assumed by our algorithms is the Common CRCW PRAM unlike the known algorithms that assume the Arbitrary CRCW PRAM.
4.
4. Our algorithms use
O(
m
log
m +
n) space, while the previous parallel algorithms use
O(
n
1 +
ε
) space, where ε is a positive constant.
We also present optimal-work parallel algorithms to construct a digital search tree for a given set of strings and to search for a string in a sorted list of strings. We use our parallel sorting algorithms to solve the problem of determining a minimal starting point of a circular string with respect to lexicographic ordering. Our solution improves upon the previous best-known result to solve this problem.</abstract><pub>Elsevier B.V</pub><doi>10.1016/0304-3975(94)00263-0</doi><tpages>21</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0304-3975 |
ispartof | Theoretical computer science, 1996-02, Vol.154 (2), p.225-245 |
issn | 0304-3975 1879-2294 |
language | eng |
recordid | cdi_proquest_miscellaneous_23846761 |
source | Access via ScienceDirect (Elsevier); EZB-FREE-00999 freely available EZB journals |
title | Sorting strings and constructing digital search trees in parallel |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-16T12%3A42%3A52IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Sorting%20strings%20and%20constructing%20digital%20search%20trees%20in%20parallel&rft.jtitle=Theoretical%20computer%20science&rft.au=J%C3%A1J%C3%A1,%20Joseph%20F.&rft.date=1996-02-05&rft.volume=154&rft.issue=2&rft.spage=225&rft.epage=245&rft.pages=225-245&rft.issn=0304-3975&rft.eissn=1879-2294&rft_id=info:doi/10.1016/0304-3975(94)00263-0&rft_dat=%3Cproquest_cross%3E23846761%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=23846761&rft_id=info:pmid/&rft_els_id=0304397594002630&rfr_iscdi=true |